输入命令:

命令行窗口输入技巧

 在多行上输入多个语句 然后再运行其中任何语句  在语句之间换行需要用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   

 

posted on 2023-08-12 18:37  学习记录园  阅读(16)  评论(0编辑  收藏  举报