使用Matlab的符号数学工具箱求解方程组(word文档良心出品).docxVIP

  • 13
  • 0
  • 约1.37千字
  • 约 2页
  • 2021-01-25 发布于天津
  • 举报

使用Matlab的符号数学工具箱求解方程组(word文档良心出品).docx

使用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)

1亿VIP精品文档

相关文档