Matlab刻意训练
Task01:MATLAB.m文件(3.1-3.5)
3.1:函数M文件
使用matlab求解多元方程的解
例:求解 y=x3+6x2+11x+6的根
%在命令窗口键入如下程序
syms x %设置变量x为符号变量
y=x^3+6*x^2+11*x+6;
y1=sym2poly(y)
roots(y1)
3.2:函数M文件的组成
自定义函数
例:计算三角形的面积A,已知三角形的3条边为a、b、c,面积计算公式为A=
s
(
s
−
a
)
(
s
−
b
)
(
s
−
c
)
\sqrt {s(s-a)(s-b)(s-c)}
s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。
%在M文件编辑器中键入如下程序
function A= triarea(a,b,c)
if a<0|b<0|c<0
disp('The a,b,c must be positive number.'), break
end
if a+b<c|a+c<b|b+c<a
disp('This is impossible.'), break
end
s=(a+b+c)/2;
A=s*(s-a)*(s-b)*(s-c)^(1/2);
3.3:内联函数
简介:内联函数incline可用于实现一次性使用的函数,书写格式为:
F=inline(expr,’
x
1
x_1
x1’,’
x
2
x_2
x2’,···,‘
x
n
x_n
xn’)
例:用内联函数来表示y=sinx+ s i n 2 x sin^2x sin2x,并求x= Π 4 \frac{\Pi}{4} 4Π
%在命令窗口键入如下程序
y=inline('sin(x)+sin(x)^2','x')
y(pi/4)
3.4/3.5:文本M文件以及M文件的编辑和存储
例:在单位圆内,分别绘制4幅不同的花瓣图,通过Enter键来切换。
%在M文件编辑器中键入如下程序
theta = -pi:pi/300:pi;
rho(1,:)=2*sin(5*theta).^2; %注:求矩阵的幂时需使用'.^'
rho(2,:)=cos(10*theta).^3;
rho(3,:)=sin(10*theta).^2;
rho(4,:)=5*cos(3.5*theta).^3;
for i=1:4
polar(theta,rho(i,:))
switch i
case 1
title 10-petal
case 2
title 20=petal
case 3
title two-petal
case 4
title 2-3-2-unsymmertrical-petal
end
pause
end