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

参考技术A 一、MATLAB常用的基本数学函数

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',[]); 我想播放视频。。。出错了

MATLAB
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函数的主要内容,如果未能解决你的问题,请参考以下文章

怎么用matlab求商函数

matlab有多少api函数

怎么用matlab求函数卷积?

matlab怎么建立自定义函数

matlab中找不到step函数

matlab fsolve函数应用