🌞欢迎来到智能优化算法的世界
🌈博客主页:卿云阁💌欢迎关注🎉点赞👍收藏⭐️留言📝
🌟本文由卿云阁原创!
🌠本阶段属于筑基阶段之一,希望各位仙友顺利完成突破
📆首发时间:🌹2021年12月11日🌹
✉️希望可以和大家一起完成进阶之路!
🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!
目录
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)
MATLAB编程基础(2)
最新推荐文章于 2023-03-27 17:26:23 发布