Task01:matlab.m文件

语法知识:
1.函数M文件
用MATLAB语言编写的程序,称为M文件。M文件分成两类:命令文件(文本文件)和函数文件。
MATLAB有1000余条内联函数,如三角函数、幂函数、指数函数、多项式函数、插值函数、求多项式根函数、矩阵运算函数、微分函数、积分函数、微分方程求解函数和图形绘制函数等,这些函数都用后缀为M的函数文件编写,故又称函数M文件。
2.函数M文件的组成:
M文件的编写在M文件编辑器中进行。
函数M文件有下列五部分组成:
Task01:matlab.m文件_第1张图片
3.内联函数:
对于一次性使用的函数,可以用内联函数inline来实现。内联函数的编制比较宽松,但它不进行函数存储,它的书写格式为Task01:matlab.m文件_第2张图片4.文本M文件:
M文件的编辑,与函数M文件相类似,在M文件编辑器中进行,它执行计算所用数据来自键盘输入和工作空间中已经存在的变量,它的输出数据亦保存在工作空间中,便于下次计算时的调用。
函数M文件与文本M文件的区别有以下几点:
Task01:matlab.m文件_第3张图片
实例演练
1.求解3次代数方程式
在这里插入图片描述

>> syms x                  %设置变量x为符号变量
>> y=x^3+6*x^2+11*x+6;     %将3次代数方程式赋予变量y
>> y1=sym2poly(y)          %提取3次代数方程的系数向量y1,sym2poly为将多项式转换成系数向量的转换函数                       

y1 =

     1     6    11     6

>> roots(y1)               %求解方程式的根

ans =                      %答案

   -3.0000
   -2.0000
   -1.0000

2.计算三角形的面积
在这里插入图片描述

function S = triarea(a,b,c)
%UNTITLED9 此处显示有关此函数的摘要
%   此处显示详细说明
if a<0||b<0||c<0
    disp('The a,b,c must be positive number.')
elseif a+b<c||a+c<b||b+c<a
    disp('This is impossible')
else
    s=(a+b+c)/2;
    S=(s*(s-a)*(s-b)*(s-c))^(1/2);
end

教程上的几处错误:
1.S=(s*(s-a)(s-b)(s-c))^(1/2) 面积计算公式少了一个括号
2.break用在if语句中错误;此外可以改为if-elseif-else语句,否则第二个例子在输出“This is impossible”后仍会输出结果“ ans = 0.0000 +24.1868i”。

>> triarea(4,8,14)
This is impossible
>> triarea(4,8,80^(1/2))

ans =

    16

3.用内联函数求指定函数的函数值
在这里插入图片描述

>> y=inline('sin(x)+sin(x)^2','x')

y =

     内联函数:
     y(x) = sin(x)+sin(x)^2

>> y(pi/4)

ans =

    1.2071

>> 

在这里插入图片描述

>> y=inline('sin(x1)*cos(x1)+sin(x2)*cos(x2)-sin(x1)*cos(x2)','x1','x2')

y =

     内联函数:
     y(x1,x2) = sin(x1)*cos(x1)+sin(x2)*cos(x2)-sin(x1)*cos(x2)

>> y(pi/8,3*pi/8)

ans =

    0.5607

4.绘制花瓣图
在这里插入图片描述

%flower petal plots      
theta=-pi:pi/300:pi;     
rho(1,:)=2*sin(5*theta).^2;
rho(2,:)=cos(10*theta).^3;
rho(3,:)=sin(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-unsymmetrical-petal
    end
    pause
end

总结思考
学习了matlab.m文件的使用,包括文本文件和函数文件。在实例演练也练习了几个程序,包括编写函数以及编写内联函数等。

你可能感兴趣的:(matlab基础学习)