输入命令:
命令行窗口输入技巧
在多行上输入多个语句 然后再运行其中任何语句 在语句之间换行需要用shift +enter 但是分块的for和end 语句之间不用
>> a=1;
b=2;
a+b
ans =
3
也可以童工分隔语句来在同一行上输入多个语句 将各个命令分开 在每个命令结尾处使用逗号或者分好 两个符号区别 一个显示结果 另一个分号不显示结果
>> a=1,b=2;c=a/b
a =
1
c =
0.5000
1.清除当前的窗口中的命令 而不执行 用esc
2.选择窗口中的任何语句 右键点击 选择执行所选内容
3.也可以仅执行当前位于命令提示符处的部分代码 选择部分代码 按enter
4.省略号 将语句延续到下一行 ...
s=1+1+2+3+4...
+5+6+7;
注意起始引号和结束引号需要出现在同一行
mytext = 'Accelerating the pace of ...
engineering and science' 返回错误
x=[1.23 ...
1.56];
等价于 x=[1.23 4.56];
5.变量名称 不能与数字开头
获取关键字列表 iskeyword
与函数名冲突时 变量的优先级高于函数
判断名称是否被使用
exist fn 如果返回ans=0 则表示fn未被使用
如果无意中创建了 需要用clear 将其在内存中清除
将变量添加到当前工作区 用load或eval 或类似函数 可能会出现冲突 解析器会将变量名称解释为函数名称
6.输入检查
语法高亮
关键字为蓝色。
字符向量和字符串为紫色。
未结束的字符向量为褐红色。
注释为绿色。
分隔符配对 通常为下划线匹配
代码建议和自动填充 您也可以按 Ctrl+空格键或 Tab 键来显示建议。要在您的代码中插入建议,请使用箭头键选择所需的名称,然后按向右箭头键、Tab 键或 Enter 键接受建议。要清除建议列表而不选择任何内容,请按 Esc 键。
tab键才会显现补全的命令
函数语法建议 函数名+左括号 会自动显示语法 如果有多个语法 需要使用ctrl+向下箭头 来显示和隐藏其他语法
7.大小写和空格敏感性
大小写敏感 对空白空格不敏感(定义数组时除外)
空格在运算符周围是可选的 可有可没有
也可以充当水平串联的分隔符 例如向量定义时可以用来分隔元素 与逗号一样
A = [1, 0 2, 3 3]
A =
1 0 2 3 3
8输出格式
format loose 保持显示空行 默认
format compact 取消显示空行
案例:
>> format compact 取消空行
>> a=1
a =
1
>> format loose 显示空行
>> a=1
a =
1
行距选项不适用于实时编辑器
设置浮点数格式
format short
format short e
format long
设置只影响数字显示方式,而不会影响计算或保存数字的方式
代码换行以适应窗口宽度 不适用于实时编辑器
隐藏输出 末尾添加 ;
按页查看输出 more on启用分页输出 此时窗口中的输出可能会超过窗口的可视部分
more off 禁止分页输出
通过enter转到下一行
通过空格键转到下一页
通过q停止显示输出
清空命令行窗口
clc
clear
home 清空命令行窗口的当前视图 而不清空滚动缓冲区
调用函数
A=[1 3 5];
max(A); 调用max函数
ans=5
如果存在多个输入参数 需要使用逗号分隔
B=[3 6 9];
union(A,B)
ans=1x5
1 3 5 6 9
如果存在多个输出参数 将其括在方括号内
[minA,maxA]=bounds(A)
minA=1
maxA=5
disp("hello world")
hello world 显示文本 函数
1.查找要使用的函数
命令行窗口左下角
如果函数名称后面带括号 说明该函数位于matlab包之外位于其他产品包中 或者多个函数同名
函数中调用中的name=value
两种传递名称-值 参数对的语法
plot(x,y,LineWidth=2) name=value
plot(x,y,"LineWidth",2) 以逗号分隔的语法
以上两种语法 建议在任一戈丁的函数调用中只使用其中的一种语法 如果要混用则需要逗号分隔在前 等号在后
例如
plot(x,y"color","red",LineWidth=2)
忽略函数输出
fileparts 函数有三个可能的输出
helpFile=which('help');
[helpPath,name,ext]=fileparts(helpFile);
以上中括号中的三个变量是后面函数的三个输出变量
有时某些函数的返回的结果会使用很多的内存,如果不需要这些变量,就会浪费空间
所以可以使用~运算符 来忽略不必要的输出
案例:
%只要第一个输出
helpPath=fileparts(helpFile);
%要求多个输出 只要两个输出
[helpPath,name]=fileparts(helpFile);
%忽略列表中任何位置的函数输出 使用波浪号 运算符
[~,name,ext]=fileparts(helpFile);
[~,~,ext]=fileparts(helpFile);
选择命令语法或函数语法
matlab两种调用函数的方式:函数语法和命令语法
命令 load fn.mat
函数 load(“fn.mat”)
以上两种方式等效
所有函数都支持一下的标准函数语法
[output1,...,outputM]=functionName(input1,...,inputN)
命令语法简单:
functionName input1 ... inputN
注意:在使用命令语法时,所有输入作为字符向量传递,并且输出并不会赋值给变量
如要传递字符向量以外的数据类型,要使用函数语法
要传递包含空格的值, 一种为使用函数语法 另一种为用单引号将值引起来
如果为变量进行赋值,必须使用函数语法将改制传递给函数
A=123;
disp(A)
返回123
disp A 命令的形式
等效于
disp('A')
显示A
避免常见的语法错误
filename = 'accounts.txt';
A = int8(1:8);
B = A;
传递变量名称
某些函数期望获取变量名称的字符向量
whos -file durer.mat X
上面的命令等效于
whos('-file','durer.mat','X')
matlab 识别命令语法
多义性语句
ls ./d
1. ls函数 将./d作为参数
2 .可能表示使用变量d作为除数对数组ls执行按元素除法
3. 如在命令行中执行 则matlab会访问当前工作区和路径 确定ls和d时函数还是变量 但是某些组件并不访问工作区和路径 matlab会参考语法规则来确定
识别标识符 会分析该标识符后面的字符 以确定表达式的类型:(编译原理 句法)
ls=d 等号表示赋值 所以前面为变量
ls('./d') 左括号表示函数调用
ls ./d 空格表示ls为使用命令语法的函数调用
ls ./ d 或 ls./d 表示变量运算 两个语句等效
结论 根据以上判断和推论 最有可能matlab将ls ./d 视为使用命令语法调用ls函数
停止执行命令 ctrl+c 或者 ctrl+break
如要在函数或脚本到达末尾之前以变成方式停止执行 则需要return 将控制权教会命令行窗口或调用函数
代码-收藏夹 输入命令 快捷输入常用的命令
写入diary文件 用来保留matlab会话的活动日志 保存除图形外所有数据
案例
A=[1 2 3 4;5 6 7 8];
diary 1.out
启用diary函数 为diary创建的输出文件命名
显示导出的数组的内容
A =
1 2 3 4
5 6 7 8
关闭diary函数
diary off
diary 创建文件 1.out 并记录您在关闭该文件前在matlab会话中执行的所有命令
在文本编辑器中打开1.out