matlab函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab函数相关的知识,希望对你有一定的参考价值。
我是菜鸟,请问怎么写一个函数包含2个变量其中一个是非整数的变量
SNR_dB = [-3:35];
SNR = 10.^(SNR_dB/10);
u = sqrt(SNR./(1+SNR));
a = (1-u)/2;
for l=1:3
y(l) = nchoosek(l,l-1)*a.^(l+2);
end
abs(x):纯量的绝对值或向量的长度
angle(z):复数z的相角(Phase angle)
sqrt(x):开平方
real(z):复数z的实部
imag(z):复数z的虚部
conj(z):复数z的共轭复数
round(x):四舍五入至最近整数
fix(x):无论正负,舍去小数至最近整数
floor(x):地板函数,即舍去正小数至最近整数
ceil(x):天花板函数,即加入正小数至最近整数
rat(x):将实数x化为分数表示
rats(x):将实数x化为多项分数展开
sign(x):符号函数 (Signum function)。
当x<0时,sign(x)=-1;
当x=0时,sign(x)=0;
当x>0时,sign(x)=1。
rem(x,y):求x除以y的馀数
gcd(x,y):整数x和y的最大公因数
lcm(x,y):整数x和y的最小公倍数
exp(x):自然指数
pow2(x):2的指数
log(x):以e为底的对数,即自然对数或
log2(x):以2为底的对数
log10(x):以10为底的对数
二、MATLAB常用的三角函数
sin(x):正弦函数
cos(x):馀弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反馀弦函数
atan(x):反正切函数
atan2(x,y):四象限的反正切函数
sinh(x):超越正弦函数
cosh(x):超越馀弦函数
tanh(x):超越正切函数
asinh(x):反超越正弦函数
acosh(x):反超越馀弦函数
atanh(x):反超越正切函数
三、适用於向量的常用函数有:
min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位数
std(x): 向量x的元素的标准差
diff(x): 向量x的相邻元素的差
sort(x): 对向量x的元素进行排序(Sorting)
length(x): 向量x的元素个数
norm(x): 向量x的欧氏(Euclidean)长度
sum(x): 向量x的元素总和
prod(x): 向量x的元素总乘积
cumsum(x): 向量x的累计元素总和
cumprod(x): 向量x的累计元素总乘积
dot(x, y): 向量x和y的内积
cross(x, y): 向量x和y的外积
四、MATLAB的永久常数
i或j:基本虚数单位(即)
eps:系统的浮点(Floating-point)精确度
inf:无限大, 例如1/0
nan或NaN:非数值(Not a number),例如0/0
pi:圆周率 p(= 3.1415926...)
realmax:系统所能表示的最大数值
realmin:系统所能表示的最小数值
nargin: 函数的输入引数个数
nargin: 函数的输出引数个数
五、MATLAB基本绘图函数
plot: x轴和y轴均为线性刻度(Linear scale)
loglog: x轴和y轴均为对数刻度(Logarithmic scale)
semilogx: x轴为对数刻度,y轴为线性刻度
semilogy: x轴为线性刻度,y轴为对数刻度
六、plot绘图函数的叁数
字元 颜色 字元 图线型态
y 黄色 . 点
k 黑色 o 圆
w 白色 x x
b 蓝色 + +
g 绿色 * *
r 红色 - 实线
c 亮青色 : 点线
m 锰紫色 -. 点虚线
-- 虚线
七、注解
xlabel('Input Value'); % x轴注解
ylabel('Function Value'); % y轴注解
title('Two Trigonometric Functions'); % 图形标题
legend('y = sin(x)','y = cos(x)'); % 图形注解
grid on; % 显示格线
八、二维绘图函数
bar 长条图
errorbar 图形加上误差范围
fplot 较精确的函数图形
polar 极座标图
hist 累计图
rose 极座标累计图
stairs 阶梯图
stem 针状图
fill 实心图
feather 羽毛图
compass 罗盘图
quiver 向量场图
matlab movie函数的用法
[filename,pathname] = uigetfile( ...
'*.avi','Vedio Files(*.avi)';...
'*.*','All Files(*.*)',...
'Pick an Vedio');
axes(handles.axes_src);
fpath=[pathname filename]
xyloObj=VideoReader(fpath)
nFrames = xyloObj.NumberOfFrames; % 查看video对象的属性
Height = xyloObj.Height;
Width = xyloObj.Width;
mov = zeros(Height, Width, 3, nFrames,'uint8');
mov = read(xyloObj,[1 nFrames]);
%imshow(mov(:,:,:,1)); 显示这个没有问题
movie(axes,mov,1,frate,'colormap',[]); 我想播放视频。。。出错了
movie 函数动态绘图
电影动画的好处就是,运行一次可以多次播放,甚至可以直接生成avi文件,直接独立与Matlab环境播放。这是其它三种动画制作方法所不具备的。
MATLAB中,创建电影动画的过程分为以下四步:
step1:调用moviein函数对内存进行初始化(该步骤在Matlab5.3以上均可省略),创建一个足够大的矩阵,使之能够容纳基于当前坐标轴大小的一系列指定的图形(此处称为帧)。
step2:调用getframe函数生成每个帧。该函数返回一个列矢量,利用这个矢量,就可以创建一个电影动画矩阵。
getframe函数可以捕捉动画帧,并保存到矩阵中。一般将该函数放到for循环中得到一系列的动画帧。
该函数格式有:
(1)F=gefframe,从当前图形框中得到动画帧
(2)F=gefframe(h),从图形句柄h中得到动画帧
(3)F=getframe(h,rect),从图形句柄h的指定区域rec中得到动画帧
step3:调用movie函数按照指定的速度和次数运行该电影动画。
当创建了一系列的动画帧后,可以利用movie函数播放这些动画帧。
该函数的主要格式有:
(1)movie(M),将矩阵M中的动画帧播放一次
(2)movie(M,n),将矩阵M中的动画帧播放n次
(3)movie(M,n,fps),将矩阵M中的动画帧以每秒fps帧的速度播放n次
step4:调用movie2avi函数可以将矩阵中的一系列动画帧转换成视频文件avi文件。这样,即使脱离了matlab环境都可以播放动画。
具体参见:
该方法的经典格式是:
%-----------------------------------------------
%录制电影动画
for j=1:n
%
%这里输入我们的绘图命令
%
M(j) =
getframe;
end
movie(M)
%单帧显示方法
f =
getframe(gcf);
colormap(f.colormap);
image(f.cdata);
%------------------------------------------------
此外,利用immovie函数,我们可以从多帧图像阵列中创建MATALB
电影动画。 参考技术A clear all hidden
clc
[filename,pathname] = uigetfile( ...
'*.avi','Vedio Files(*.avi)';...
'*.*','All Files(*.*)',...
'Pick an Vedio');
filePath=fullfile(pathname,filename);
readerobj=VideoReader(filePath);
StartFrame=1;
EndFrame=20;
vidFrames = read(readerobj,[StartFrame EndFrame]);
for k = 1:(EndFrame-StartFrame)
mov(k).cdata = vidFrames(:,:,:,k);
mov(k).colormap = [];
end
hf = figure;
% Resize figure based on the video's width and height
set(hf, 'position', [150 150 readerobj.Width readerobj.Height])
% Playback movie once at the video's frame rate
movie(hf, mov, 1, readerobj.FrameRate);
读入的帧数不要太多,avi格式的文件数据量太大,Matlab的内存没有太多,可能放不下。
文件的路径中不要包含中文,以免出错,读不了文件
本回答被提问者采纳以上是关于matlab函数的主要内容,如果未能解决你的问题,请参考以下文章