左上角new script新建
for i = 1 : 10
x = linspace(0,10,101);
plot(x,sin(x + i));
print(gcf,'-deps',strcat('plot',num2str(i),'.ps'));
end
layout->command history 查看历史命令
fx寻找方程 选中代码,右键注释,注释使用%,两个%是将代码分区域,可以一个区域一个区域运行
右键smart indent自动缩进
Relational
< <= > >= == ~=(不等于) && ||
rem(a,2) 求a%2
switch case otherwise 每一个case不需要break
prod(1:n) 求n!
tic
for ii = 1:2000
for jj = 1:2000
A(ii,jj) = ii +jj;
end
end
toc
not ptr-allocating
tic
A = zeros(2000,2000);
for ii = 1:size(A,1)
for jj = 1:size(A,2)
A(ii,jj) = ii +jj;
end
end
toc
pre-allocating 运算速度更快
tic和toc计算运行一个程序需要花费多长时间
A = [1 2 3 4 5 6;...
6 5 4 3 2 1]; ...表示换行
当长时间运行一个程序时,ctrl + c可以终止该程序的运行
edit(which('mean.m')) 查看函数
function x = freebody(x0,v0,t)
%
%
%
x = x0 + v0.*t + 1 / 2 * 9.8 * t .* t;
编写函数
function [a F] = acc(v2,v1,t2,t1,m)
a = (v2 - v1) ./ (t2 - t1);
F = m .* a;
%计算加速度和力
[Acc Force] = acc(20,10,5,4,1)
function [volume] = pillar(Do,Di,height)
if nargin == 2
height = 1;
end
volume = abs(Do .^ 2 - Di .^ 2) .* height * pi * 4;
nargin 判断输入参数个数
nargout
varargin
varargout variable length
f = @ (x) exp(-2 * x);
x = 0:0.1:2;
plot(x,f(x));
input 输入
input('请输入内容')
t = input('请输入内容:','s')
请输入内容123456
ans =123456
请输入内容:9999
t =9999
isempty 判断是否为空,bool类型,若为空,返回true
A = ‘ ’
a = isempty (A)
a = 1
str=['Alice is ' num2str(12) ' years old!'];
disp(str);
上边这句话也就等价于:
disp=(['Alice is ' num2str(12) ' years old!']);
这就是加中括号的原因,而不是因为num2str(),
因为disp(num2str(12));也是正确的,因为里边就只有一个字符串。
语法格式:
str = num2str(A)
把数组A中的数转换成字符串表示形式。
str = num2str(A, precision)
把数组A转换成字符串形式表示,precision表示精度, 比如precision为3表示保留最多3位有效数字, 例如0.5345转换后为0.534,1.2345转换后为1.23。即从左边第一个不为0的数开始保留3个数值。
str = num2str(A, format)
按format指定格式进行格式化转换,通常'%11.4g'是默认的。
function F2C
while 1
F = input('Temperature in F: ');
if isempty(num2str(F))
break;
end
C = (F - 32) * 5 / 9;
disp(['Temperature in C = ',num2str(C)]);
end