我是靠谱客的博主 开朗毛豆,最近开发中收集的这篇文章主要介绍matlab个人笔记(三),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

3月16日

这节课讲程序,和c很像,比较简单。

新建.m文件可以直接输入edit;打开输入open
个人比较喜欢Windows通用的Ctrl+o/n

用m脚本文件写一个程序,很简单,不过有值得学习的地方,记笔记记笔记

x=linspace(-6,+6,1000);
n=length(x);  %介个腻害
for m=1:n
    if x(m)<=0
        y(m)=sin(x(m));
    elseif x(m)<3
        y(m)=x(m);
    else
        y(m)=-x(m)+6;
    end
end
    plot(x,y);
    grid on;

这个程序里length()的用法很简单,但是这个程序用的很好。不过这是一维数组,二维及以上我觉得可以用[i,j]=size()

用数组命令实现 %nice

x=-6 : 0.1 : 6;
y=(x<=0).*sin(x)+(x>0&x<=3).*x+(x>3).*(-x+6); %这几个关系运算太漂亮了,"."不能忘了呦~
plot(x,y), grid on;

M函数文件,之前就不太会。。
创建脚本/函数文件  函数只是多给你打了一个function和end
文件命名必须为"="后面的字符
和c一样,把括号里的参数传递到函数中,funciont y=……
y为返回的值,可以为向量,不一定只有一个,不必使用return
函数只能访问本身空间的变量,函数运行时matlab会开辟一个临时的函数工作空间,所有中间变量存放在函数空间中,执行完最后一条指令或遇到return时结束,中间变量和临时空间会被清除

程序控制结构
数据输入输出
输入x=input(),括号里放置提示信息,字符要加上单引号
例:

a=input('a=?');
b=input('b=?');
c=input('c=?');
d=b^2-a*4*c;
x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];
disp(['x1=',num2str(x(1)),'x2=',num2str(x(2))])

要将x(1)数转为字符,才能用,和其他字符串连接,","和java里的“+”和c++里的>>差不多。

input()中的第一个参数为字符串,要用''括起来,第二个参数目前只接触到了 's' ,输入的为字符类型。

循环控制基本和c相等
switch()语句中default换为otherwise
每一个控制结构需要一个end结束
return 可以放在函数中,直接返回
元胞数组在switch中会将switch后面的表达式值与元胞数组的所有元素进行比较,只要其中有某个元素值与表达式值相等,就执行与该检测值对应的语句命令组。
case{2,3,4}
case num2cell(5:9)   

最后,try-catch语句,试探性执行语句,用的少,第一个出错时,错误信息存入lasterr,执行catch中的语句

在循环中,可以预先为变量分配矩阵空间,节省时间

最后

以上就是开朗毛豆为你收集整理的matlab个人笔记(三)的全部内容,希望文章能够帮你解决matlab个人笔记(三)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部