day01-MATLAB的.M文件

3.1函数M文件

函数M文件指的就是后缀为M的函数文件,函数文件编写了内装函数。我们只要掌握函数的调用和使用规则即可。
以下的例子调用了
函数 sym2poly
函数 roots
例题01 求解三次代数方程式

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

y1 =

     1     6    11     6

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

ans =

   -3.0000
   -2.0000
   -1.0000

3.2函数M文件的组成

我们了解一个M文件的组成后,以后我们便可以通过查看文档去了解函数的功能。其中,查看一个函数的方法是在命令窗口中 输入type 函数名;然而 有些函数的功能时被隐藏起来的,只能够使用而不能够查看。
(1)函数定义行。
(2)帮助文本的标题行。 说明函数的功能
(3)帮助文本的内容。 说明变量的类型,使用举例还有相关函数名
(4)函数体。 输入变量计算输出变量的程序体,还包括程序运行时的出粗处理
(5)附注。

function A=triarea(a,b,c) 
%必须有关键字function开头 A是输出变量(如果有多个用[])%triarea是函数名,(a,b,c)是输入变量
if a<0|b<0|c<0
    disp('The a,b,c must be positive number.'),return
end
if a+b<c|a+c<b|b+c<a
    disp('This is impossible.'),return
end
    s=(a+b+c)/2;
    A=(s*(s-a)*(s-b)*(s-c))^(1/2);

在这里需要注意的是,如果用break的话是会报错的,会提示用return。原因是break只是适用于for和while循环语句。

3.3内联函数

函数M文件和内联函数的区别:
函数M文件是常用的
内联函数是一次性的

书写格式:
F=inline(expr,‘x1’,‘x2’,……,‘xn’)

inline——内联函数
expr——以字符串形式的数学表达式
‘x1’,‘x2’,……,‘xn’——数学表达式expr中的变量

例题03 用内联函数来表示y=sinx1cosx1+sinx2cosx2-sinx1cosx2, 并求x1=Π/8,x2=3Π/8时的函数值

>> 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

注意:变量x1,x2要括号,sin(x1)sin(x2)之间时有*。

3.4文本M文件

函数M文件是提高函数的复用性
而文本M文本就是提高 MATLAB命令和语句的复用性

举例用一个M文件来绘制4幅不同的花瓣图,通过enter切换

%flower petal plots
theta=-pi:pi/300:pi;  %设置角度向量,分度为pi/300
rho(1,:)=2*sin(5*theta).^2;  %计算频率为5的正弦函数平方
rho(2,:)=cos(10^theta).^3;  %计算频率为10的余弦函数平方
rho(3,:)=sin(theta).^2;
rho(4,:)=5*cos(3.5*theta).^3;
for i=1:4                 %设置循环次数
    polar(theta,rho(i,:))  %绘制上述函数的极坐标图
    switch i               %根据不同的i的值,写入不同的标题Switch为开关语句
        case 1
            title 10-petal
        case 2
            title 20-petal
        case 3
             title two-petal
        case 4
            title 2-3-2-unsymmetrical-petal    %标题为2-3-2 不对称花瓣
    end
    pause                    %程序暂停,当按Enter键,则继续执行下一个循环
end   

以上片段有错误:错误如下;(待解决)

flower_plots
错误使用 ^
输入必须为标量和方阵。
要按元素进行 POWER 计算,请改用 POWER (.^)。
出错 flower_plots (line 4)
rho(2,:)=cos(10theta).3; %计算频率为10的余弦函数平方

更新:
上面的问题已经解决啦!
我通过搜索发现会出现这样的错误一般的修正方式就是将提示错误的地方的^改成 .^ ;然后我仔细一看提示错误的地方line4!!!!

rho(2,:)=cos(10^theta).^3;

源代码长酱紫

rho(2,:)=cos(10*theta).^3; 

一个符号打错,我太难了!

接下来是花瓣图:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5 M文件的编辑和存储

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凭栏听雨客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值