- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Matlab的符号数学工具箱求解方程组
Matlab的符号数学工具箱(Symbolic Math Toolbox )在求解方程及方程组 方面为我们提供了一种简洁的方法。本文以求解下列方程组为例来说明用法,
y = kx c y
2 2
x y
+_ —i
-a b
其中,k, a, b,c是可变的参数,x,y是变量,根据不同的k, a, b值计算的结果 也不同。
在Matlab命令行输入以下命令可以求解该方程组.
%计算方程组的解
syms x y k a b c; % 指定符号
f = y-k*x - c; %直线方程
g = x*x/(a*a) + y*y/(b*b) - 1; %
[x,y] = solve(f,g);
x = simplify(x), y = simplify(y) % 得到结果为:
x =
椭圆方程
简化结果
-(c*k*a-(bA2*(aA2*kA2-cA2+bA2))A(1/2))*a/(aA2*kA2+bA2)
-(c*k*a+(bA2*(aA2*kA2-cA2+bA2))A(1/2))*a/(aA2*kA2+bA2)
(k*a*(bA2*(aA2*kA2-cA2+bA2)F(1/2)+c*bA2)/(aA2*kA2+bA2)
-(k*a*(bA2*(aA2*kA2-cA2+bA2)F(1/2)-c*bA2)/(aA2*kA2+bA2)
%以下为赋以a,b,c,k具体值,并求得数值解的程序代码
syms x y k a b c; % 指定符号
f = y-k*x -c; % 直线方程
g = x*x/(a*a) + y*y/(b*b) - 1; % fl = subs(f,[k c], [2 1]); %
g1 = subs(g, [a b], [5 4]); %
[x y] = solve(f1, g1);
椭圆方程
k =2, c = 1
a = 5, b = 4
S = [double(x) double(y)]
得到结果为
S =
10
10 Cl 1lD IE
1.4179 3.8358
-2.2800 -3.5599
%以下以图形的方式显示该方程组的解
figure; hold on; xlim([-15 15]); ylim([-15 15]);grid on;
%绘制坐标轴线
line([0 0], [-15 15], Linewidth,1, color, [0 0 0]);
lin e([-15 15], [0 0], L in ewidth,1, color, [0 0 0]);
text(0, 0, O); % 标记坐标原点
%绘制直线段y = 2*x + 1;
x = [-10 10]; y = 2*x+1; plot(x,y, b-,Li newidth,2);
%绘制椭圆
t = 0:0.01:2*pi; a =5; b = 4;
x = a*cos(t); y = b*si n(t); plot(x, y, r-,L in ewidth,2);
%在坐标系中标记求得的解.
plot(S(:,1),S(:,2), r*, Markersize, 12)
命令执行后,绘图结果如下
文档评论(0)