MATLAB编程基础(2)

🌞欢迎来到智能优化算法的世界 
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🌠本阶段属于筑基阶段之一,希望各位仙友顺利完成突破

📆首发时间:🌹2021年12月11日🌹

✉️希望可以和大家一起完成进阶之路!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


目录

0️⃣基本认识

         1️⃣选择与循环语句

2️⃣数据输入与输出 

3️⃣选择 与循环语句

4️⃣函数文件  

5️⃣Matlab 绘图    


0️⃣✨✨✨基本认识✨✨✨

M 文件

M 文件以 .m 为扩展名。

M 文件根据调用方式的不同可以分为两类:

 Script:脚本文件/命令文件 

Function:函数文件

M 文件的建立与打开

新建一个 M 文件

菜单操作 ( File ,New ,File )  

命令操作 ( edit M 文件名 )

 命令按钮 ( 快捷键 )

打开已有的 M 文件

菜单操作  ( File ,Open )  

命令操作 ( edit M 文件名 )  

命令按钮  ( 快捷键 )  

双击 M 文件

M文件控制流


1️⃣✨✨✨选择与循环语句✨✨✨ 

1.关系运算符

<(小于)  >(大于) ==(等于)  <=(小于等于)   >=(大于等于)  ~=(不等于)

关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样。
2.逻辑运算符

&(与 )   |(或)  ~(非)  xor(x,y)(异或)


2️⃣✨✨✨数据输入与输出✨✨✨ 

数据输入 input

A=input(提示信息)

其中 提示信息 为字符串,  该命令要求用户输入 A 的值 (可以是数或字符串)

eg.   A=input('Please input A: ')

如果是输入字符串,也可以使用下面的方法

A=input(提示信息, 's')

注:此时输入的字符串不要加单引号!

eg.  name=input('What''s your name? ', 's')



A=input('Please input A: ')
name=input('What''s your name? ', 's')

%%%%%%%结果%%%%%%%%%%

Please input A: 4

A =

     4

What's your name? qingyun

name =

    'qingyun'

数据的输出:disp

 disp(X)

输出变量 X 的值,可以是数值矩阵或字符串

name=input('What''s your name? ', 's')
disp(name)


%%%%%%结果%%%%%%
What's your name? qingyun

name =

    'qingyun'

qingyun
A='Hello,everyone !';

disp(A)


%%%%%%%结果%%%%%%%
>> jichu
Hello,everyone !

3️⃣✨✨✨选择与循环语句✨✨✨  

单分支结构

if expression (条件)    

statements (语句组)

end
sum=0;
for i=1:100
    sum=sum+i;
end
disp(sum)



%%%%%%%%%结果%%%%%%
 5050

双分支结构

if expression (条件)    

statements1(语句组1)

else    

statements2(语句组2)

end
x=input('Please input x: ')
if(x<0)
    disp('YES')
else
    disp('NO')
end



%%%%%%%结果%%%%%%%

Please input x: 3

x =

     3

NO

多分支结构

if expression1 (条件1)
   statements1(语句组1)
elseif expression2 (条件2)
   statements2(语句组2)
 ... ... 
elseif expressionm (条件m)
   statementsm(语句组m)
else
   statements(语句组)
end
x=input('Please input x: ')
if(x==1)
    disp('YES')
elseif(x==2)
    disp('NO')
else
     disp('我需要考虑')
end



%%%%%%结果%%%%%%
Please input x: 3

x =

     3

我需要考虑

for 循环

for variable=expression
    statement(循环体)
end
x = 0;
for i = 1:100
    x = x + i;
end
disp(x)




%%%%%%结果%%%%%
>> jichu
        5050
s = 0;
for i = 1:2:100  %%%2是步长
    s = s + i;
end
disp(s)






%%%%%%%%%结果%%%%%

>> jichu
        2500

while 循环

while expression (条件)
    statement(循环体)
end
s = 0;
k = 0;
while(k <= 100)
    s = s + k;
    k = k + 1;
end
disp(s)


%%%%%%结果%%%%%
>> jichu
        5050

其它流控制语句

break 和 continue

break 语句用于终止循环的执行,即跳出最内层循环  continue 语句用于结束本次循环,进行下一次循环  break 和 continue 一般与 if 语句配合使用

return

return 语句用于退出正在运行的脚本或函数,通常用在函数文件中。

switch 语句

根据表达式的不同取值,分别执行不同的语句。

switch expression (表达式)
   case value1 (表达式1)
        statement1(语句组1)
   case value2 (表达式2)
        statement2(语句组2)
      ... ...
   case valuem (表达式m)
        statementm(语句组m)
   otherwise
        statement (语句组)
end
语句作用
max(A,[],2)求矩阵中每一行的最大值
min(A,[],2)求矩阵中每一行的最小值
max(A,[],1)求矩阵中每一列的最大值
min(A,[],1)求矩阵中每一列的最小值

4️⃣✨✨✨函数文件✨✨✨  

函数文件由 function 语句引导

function [out1,out2,…]=函数名(in1,in2,…)

% 注释说明部分(可选)

函数体语句(必须)

第一行为引导行,表示该 M文件是函数文件  函数名的命名规则与变量名相同 ( 必须以字母开头 )  当输出行参多于一个时,用方括号括起来

函数调用的一般格式

输出实参列表=函数名(输入实参列表)

子函数

function avg = fun(x) % 主函数

n = length(x);

avg = mean(x, n);

function a = mean(x, n) % 子函数

a = sum(x)/n;

5️⃣✨✨✨Matlab 绘图✨✨✨    

 常用

%%%%%%%%%%%画图%%%%%%%%%
figure
x = 0:pi/100:2*pi;  %%%0到2pi,中间以pi/100为间距取点x分别取0,pi/100,2pi/100,3pi/100.......2*pi
y = sin(x);
plot(x,y)
title('卿云阁')
xlabel('卿云')
ylabel('卿云工作室')

 基本形式

plot(x,y)

x, y 都是向量,则以 x 中元素为横坐标, y 中元素为纵坐标作平面曲线。此时 x, y 必须具有相同长度。

x, y 都是矩阵,则将 x 的列和 y 中相应的列相组合,绘制多条平面曲线。此时 x, y 必须具有相同的大小。

x 是向量, y 是矩阵,若 x 的长度与 y 的行数相等,则将 x 与 y 中的各列相对应,绘制多条平面曲线;否则,若 x 的长度与 y 的列数相等,则将 x 与 y 中的各行相对应,绘制多条平面曲线。此时 x 的长度必须等于 y 的行数或列数。

图形的属性

点和线的基本属性

plot(x,y,string)

其中 string 是用 单引号 括起来的字符串,用来指定图形的属性(点、线的形状和颜色)

>> x=[0:0.2:2*pi];
>> plot(x,cos(x));
>> plot(x,cos(x),’r+:’);
>> plot(x,cos(x),’bd-.’);
>> plot(x,cos(x),’k*-’);

同时绘制多个函数图像

plot(x1,y1,s1,x2,y2,s2, ... ,xn,yn,sn)

等价于:

hold on
plot(x1,y1,s1)
plot(x2,y2,s2)
...
plot(xn,yn,sn)

图形的基本属性

           b    blue   蓝      .     point              -     solid
           g    green  绿      o     circle             :     dotted
           r    red    红      x     x-mark             -.    dashdot 
           c    cyan   青      +     plus               --    dashed   
           m    magenta 品红   *     star             (none)  no line
           y    yellow 黄      s     square
           k    black  黑      d     diamond
           w    white  白      v     triangle (down)
                               ^     triangle (up)
                               <     triangle (left)
                               >     triangle (right)
                               p     pentagram 五角星
                               h     hexagram  六角星

图形的其他属性

标题

title(’text’)

坐标轴标注

xlabel(’text’) 或  ylabel(’text’)

添加图例

legend(string1,string2, ...)

其他相关命令

显示网格

grid on 或 grid off

保持当前窗口的图像

hold on 或 hold off

新建绘图窗口

figure(n)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卿云阁

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

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

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

打赏作者

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

抵扣说明:

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

余额充值