一、实验目的 (1)掌握代数方程数值求解的方法 (2)掌握常微分方程数值求解的方法 |
二、实验原理与实验设备 原理:计算机编程相关知识技能和MATLAB软件编译环境 设备:计算机与MATLAB软件 |
三、方程数值求解
(1)3x+sinx-ex=0 在x0=1.5附近的根。 (2)在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解。 sin(x)+y2+ln(z)-7=0 3x+2y-z3+1=0 x+y+z-5=0 (1)函数文件: function g =diliucishiyan3_1hanshu_1(x) g = 3*x+sin(x)-exp(x); end (1)脚本文件: clear; clc; fzero('diliucishiyan3_1hanshu_1',1.5) (1)结果展示: (2)函数文件: function F = diliucishiyan3_1hanshu_2(X) x = X(1); y = X(2); z = X(3); F(1) = sin(x)+y^2+log(z)-7; F(2) = 3*x+2^y-z^3+1; F(3) = x+y+z-5; end (2)脚本文件: clear; clc; X = fsolve('diliucishiyan3_1hanshu_2',[1 1 1]',optimset('Display','off')) (2)结果展示:
d2y/dx2-5*dy/dx+y=0 y(0)=1 y’(0)=1 函数文件: function dydt = diliucishiyan3_2hanshu(t,y) dydt = [y(2);5*y(2)-y(1)]; end 脚本文件: clear; clc; [t,y] = ode45(@diliucishiyan3_2hanshu,[0 1],[1; 1]) plot(t,y(:,1),'-o',t,y(:,2),'-o') title('d2y/dx2-5*dy/dx+y=0'); xlabel('Time t'); ylabel('Solution y'); legend('y_1','y_2') 结果展示:
6x+5y-2z+5u=-4 9x-y+4z-u=13 3x+4y+2z-2u=1 3x-9y+2u=11 代码展示: clear; clc; A = [6 5 -2 5;9 -1 4 -1;3 4 2 -2;3 -9 0 2]; b = [-4 13 1 11]'; fa_1 = A\b fa_2 = inv(A)*b [L,U] = lu(A); fa_3 = U\(L\b) 结果展示: |
MATLAB 方程数值求解
最新推荐文章于 2024-03-23 11:42:15 发布