MATLAB学习:结构化程式与自定义函数

       最近学习了b站台大郭彦甫老师的MATLAB课程,就在这里记录一下自己的学习之旅吧,希望可以快点掌握,加油呀!

第二课:结构化程式与自定义函数

ex1:自定义一个函数实现华氏度向摄氏度的转换

要求:这个程序要一直执行,直到没有输入

提示:input、isempty、break、disp、num2str

代码:

function m=f2c
while 1   % 保证程序一直执行,后续要设置条件,当没有输入时程序停止
    f=input('temperature in f:');  %获取输入
    if isempty(f)==0  %当没有输入时跳出while,程序停止
        c=5/9.*(f-32);
        disp(['==>temperature in c=',num2str(c)])
    else
        break
    end
end
end

遇到的问题:

1、首先题目要求如果有输入就要一直执行,所以采用while 1,但同时利用isempty()函数来判断当前输入是否为0。若满足有输入,则进行温度单位的转换,否则直接break跳出while结构

2、num2str()函数将数字转换为字符串,因为我们的想要展示的是‘temperature in c=’,是一个字符串形式,否则的话,可以直接disp(c)也可以,不用考虑数字到字符串的转换

3、在运行的时候,可以直接点击编辑器的运行,出现了一个提示,我们可以直接默认修改路径即可。

ex2:

要求:将矩阵A的正值赋值给矩阵B

代码:

A=[0 -1 4;9 -14 25;-34 49 64];
B=zeros(3)     %构建一个全零矩阵
for i=1:3
    for j=1:3
        if (A(i,j)>0)
            B(i,j)=A(i,j);
        else
            B(i,j)=-A(i,j);
        end
    end
end
disp(B)

 其他知识点:

1、当循环一直在执行时,可以在命令窗口:Ctrl+C暂停程序

2、自定义函数时,文件名应该与函数名保持一致

3、一般定义函数的时候建议使用点乘和点除

4、nargin函数:在MATLAB中定义一个函数时,在函数体内部,nargin用来判断输入变量的个数

5、nargout函数用来判断函数的输出变量个数

function [volume]=pillar(Do,Di,height)
if nargin==2 % 当输入变量的个数为2时,height为1
   height=1;
end
volume=abs(Do.^2-Di.^2).*height*pi/4;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值