matlab程序实例大全,求助完成MATLAB的几个程序
matlab程序实例大全,求助完成MATLAB的几个程序详细介绍
本文目录一览: matlab实用例子大全、求!!!
1-32是:图形应用篇
33-66是:界面设计篇
67-84是:图形处理篇
85-100是:数值分析篇
实例1:三角函数曲线(1)
function shili01
h0=figure('toolbar','none',...
'position',[198 56 350 300],...
'name','实例01');
h1=axes('parent',h0,...
'visible','off');
x=-pi:0.05:pi;
y=sin(x);
plot(x,y);
xlabel('自变量X');
ylabel('函数值Y');
title('SIN( )函数曲线');
grid on
实例2:三角函数曲线(2)
function shili02
h0=figure('toolbar','none',...
'position',[200 150 450 350],...
'name','实例02');
x=-pi:0.05:pi;
y=sin(x)+cos(x);
plot(x,y,'-*r','linewidth',1);
grid on
xlabel('自变量X');
ylabel('函数值Y');
title('三角函数');
实例3:图形的叠加
function shili03
h0=figure('toolbar','none',...
'position',[200 150 450 350],...
'name','实例03');
x=-pi:0.05:pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,...
'-*r',...
x,y2,...
'--og');
grid on
xlabel('自变量X');
ylabel('函数值Y');
title('三角函数');
实例4:双y轴图形的绘制
function shili04
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例04');
x=0:900;a=1000;b=0.005;
y1=2*x;
y2=cos(b*x);
[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot');
axes(haxes(1))
ylabel('semilog plot');
axes(haxes(2))
ylabel('linear plot');
实例5:单个轴窗口显示多个图形
function shili05
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例05');
t=0:pi/10:2*pi;
[x,y]=meshgrid(t);
subplot(2,2,1)
plot(sin(t),cos(t))
axis equal
subplot(2,2,2)
z=sin(x)-cos(y);
plot(t,z)
axis([0 2*pi -2 2])
subplot(2,2,3)
h=sin(x)+cos(y);
plot(t,h)
axis([0 2*pi -2 2])
subplot(2,2,4)
g=(sin(x).^2)-(cos(y).^2);
plot(t,g)
axis([0 2*pi -1 1])
实例6:图形标注
function shili06
h0=figure('toolbar','none',...
'position',[200 150 450 400],...
'name','实例06');
t=0:pi/10:2*pi;
h=plot(t,sin(t));
xlabel('t=0到2\pi','fontsize',16);
ylabel('sin(t)','fontsize',16);
title('\it{从 0to2\pi 的正弦曲线}','fontsize',16)
x=get(h,'xdata');
y=get(h,'ydata');
imin=find(min(y)==y);
imax=find(max(y)==y);
text(x(imin),y(imin),...
['\leftarrow最小值=',num2str(y(imin))],...
'fontsize',16)
text(x(imax),y(imax),...
['\leftarrow最大值=',num2str(y(imax))],...
'fontsize',16)
实例7:条形图形
function shili07
h0=figure('toolbar','none',...
'position',[200 150 450 350],...
'name','实例07');
tiao1=[562 548 224 545 41 445 745 512];
tiao2=[47 48 57 58 54 52 65 48];
t=0:7;
bar(t,tiao1)
xlabel('X轴');
ylabel('TIAO1值');
h1=gca;
h2=axes('position',get(h1,'position'));
plot(t,tiao2,'linewidth',3)
set(h2,'yaxislocation','right','color','none','xticklabel',[])
实例8:区域图形
function shili08
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例08');
x=91:95;
profits1=[88 75 84 93 77];
profits2=[51 64 54 56 68];
profits3=[42 54 34 25 24];
profits4=[26 38 18 15 4];
area(x,profits1,'facecolor',[0.5 0.9 0.6],...
'edgecolor','b',...
'linewidth',3)
hold on
area(x,profits2,'facecolor',[0.9 0.85 0.7],...
'edgecolor','y',...
'linewidth',3)
hold on
area(x,profits3,'facecolor',[0.3 0.6 0.7],...
'edgecolor','r',...
'linewidth',3)
hold on
area(x,profits4,'facecolor',[0.6 0.5 0.9],...
'edgecolor','m',...
'linewidth',3)
hold off
set(gca,'xtick',[91:95])
set(gca,'layer','top')
gtext('\leftarrow第一季度销量')
gtext('\leftarrow第二季度销量')
gtext('\leftarrow第三季度销量')
gtext('\leftarrow第四季度销量')
xlabel('年','fontsize',16);
ylabel('销售量','fontsize',16);
实例9:饼图的绘制
function shili09
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例09');
t=[54 21 35;
68 54 35;
45 25 12;
48 68 45;
68 54 69];
x=sum(t);
h=pie(x);
textobjs=findobj(h,'type','text');
str1=get(textobjs,{'string'});
val1=get(textobjs,{'extent'});
oldext=cat(1,val1{:});
names={'商品一:';'商品二:';'商品三:'};
str2=strcat(names,str1);
set(textobjs,{'string'},str2)
val2=get(textobjs,{'extent'});
newext=cat(1,val2{:});
offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2;
pos=get(textobjs,{'position'});
textpos=cat(1,pos{:});
textpos(:,1)=textpos(:,1)+offset;
set(textobjs,{'position'},num2cell(textpos,[3,2]))
实例10:阶梯图
function shili10
h0=figure('toolbar','none',...
'position',[200 150 450 400],...
'name','实例10');
a=0.01;
b=0.5;
t=0:10;
f=exp(-a*t).*sin(b*t);
stairs(t,f)
hold on
plot(t,f,':*')
hold off
glabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图';
gtext(glabel,'fontsize',16)
xlabel('t=0:10','fontsize',16)
axis([0 10 -1.2 1.2])
实例11:枝干图
function shili11
h0=figure('toolbar','none',...
'position',[200 150 450 350],...
'name','实例11');
x=0:pi/20:2*pi;
y1=sin(x);
y2=cos(x);
h1=stem(x,y1+y2);
hold on
h2=plot(x,y1,'^r',x,y2,'*g');
hold off
h3=[h1(1);h2];
legend(h3,'y1+y2','y1=sin(x)','y2=cos(x)')
xlabel('自变量X');
ylabel('函数值Y');
title('正弦函数与余弦函数的线性组合');
实例12:罗盘图
function shili12
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例12');
winddirection=[54 24 65 84
256 12 235 62
125 324 34 254];
windpower=[2 5 5 3
6 8 12 7
6 14 10 8];
rdirection=winddirection*pi/180;
[x,y]=pol2cart(rdirection,windpower);
compass(x,y);
desc={'风向和风力',
'北京气象台',
'10月1日0:00到',
'10月1日12:00'};
gtext(desc)
实例13:轮廓图
function shili13
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例13');
[th,r]=meshgrid((0:10:360)*pi/180,0:0.05:1);
[x,y]=pol2cart(th,r);
z=x+i*y;
f=(z.^4-1).^(0.25);
contour(x,y,abs(f),20)
axis equal
xlabel('实部','fontsize',16);
ylabel('虚部','fontsize',16);
h=polar([0 2*pi],[0 1]);
delete(h)
hold on
contour(x,y,abs(f),20)
实例14:交互式图形
function shili14
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例14');
axis([0 10 0 10]);
hold on
x=[];
y=[];
n=0;
disp('单击鼠标左键点取需要的点');
disp('单击鼠标右键点取最后一个点');
but=1;
while but==1
[xi,yi,but]=ginput(1);
plot(xi,yi,'bo')
n=n+1;
disp('单击鼠标左键点取下一个点');
x(n,1)=xi;
y(n,1)=yi;
end
t=1:n;
ts=1:0.1:n;
xs=spline(t,x,ts);
ys=spline(t,y,ts);
plot(xs,ys,'r-');
hold off
实例14:交互式图形
function shili14
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例14');
axis([0 10 0 10]);
hold on
x=[];
y=[];
n=0;
disp('单击鼠标左键点取需要的点');
disp('单击鼠标右键点取最后一个点');
but=1;
while but==1
[xi,yi,but]=ginput(1);
plot(xi,yi,'bo')
n=n+1;
disp('单击鼠标左键点取下一个点');
x(n,1)=xi;
y(n,1)=yi;
end
t=1:n;
ts=1:0.1:n;
xs=spline(t,x,ts);
ys=spline(t,y,ts);
plot(xs,ys,'r-');
hold off
实例15:变换的傅立叶函数曲线
function shili15
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例15');
axis equal
m=moviein(20,gcf);
set(gca,'nextplot','replacechildren')
h=uicontrol('style','slider','position',...
[100 10 500 20],'min',1,'max',20)
for j=1:20
plot(fft(eye(j+16)))
set(h,'value',j)
m(:,j)=getframe(gcf);
end
clf;
axes('position',[0 0 1 1]);
movie(m,30)
实例16:劳伦兹非线形方程的无序活动
function shili15
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例15');
axis equal
m=moviein(20,gcf);
set(gca,'nextplot','replacechildren')
h=uicontrol('style','slider','position',...
[100 10 500 20],'min',1,'max',20)
for j=1:20
plot(fft(eye(j+16)))
set(h,'value',j)
m(:,j)=getframe(gcf);
end
clf;
axes('position',[0 0 1 1]);
movie(m,30)
实例17:填充图
function shili17
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例17');
t=(1:2:15)*pi/8;
x=sin(t);
y=cos(t);
fill(x,y,'r')
axis square off
text(0,0,'STOP',...
'color',[1 1 1],...
'fontsize',50,...
'horizontalalignment','center')
例18:条形图和阶梯形图
function shili18
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例18');
subplot(2,2,1)
x=-3:0.2:3;
y=exp(-x.*x);
bar(x,y)
title('2-D Bar Chart')
subplot(2,2,2)
x=-3:0.2:3;
y=exp(-x.*x);
bar3(x,y,'r')
title('3-D Bar Chart')
subplot(2,2,3)
x=-3:0.2:3;
y=exp(-x.*x);
stairs(x,y)
title('Stair Chart')
subplot(2,2,4)
x=-3:0.2:3;
y=exp(-x.*x);
barh(x,y)
title('Horizontal Bar Chart')
实例19:三维曲线图
function shili19
h0=figure('toolbar','none',...
'position',[200 150 450 400],...
'name','实例19');
subplot(2,1,1)
x=linspace(0,2*pi);
y1=sin(x);
y2=cos(x);
y3=sin(x)+cos(x);
z1=zeros(size(x));
z2=0.5*z1;
z3=z1;
plot3(x,y1,z1,x,y2,z2,x,y3,z3)
grid on
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
title('Figure1:3-D Plot')
subplot(2,1,2)
x=linspace(0,2*pi);
y1=sin(x);
y2=cos(x);
y3=sin(x)+cos(x);
z1=zeros(size(x));
z2=0.5*z1;
z3=z1;
plot3(x,z1,y1,x,z2,y2,x,z3,y3)
grid on
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
title('Figure2:3-D Plot')
实例20:图形的隐藏属性
function shili20
h0=figure('toolbar','none',...
'position',[200 150 450 300],...
'name','实例20');
subplot(1,2,1)
[x,y,z]=sphere(10);
mesh(x,y,z)
axis off
title('Figure1:Opaque')
hidden on
subplot(1,2,2)
[x,y,z]=sphere(10);
mesh(x,y,z)
axis off
title('Figure2:Transparent')
hidden off
实例21PEAKS函数曲线
function shili21
h0=figure('toolbar','none',...
'position',[200 100 450 450],...
'name','实例21');
[x,y,z]=peaks(30);
subplot(2,1,1)
x=x(1,:);
y=y(:,1);
i=find(y>0.8&y<1.2);
j=find(x>-0.6&x<0.5);
z(i,j)=nan*z(i,j);
surfc(x,y,z)
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
title('Figure1:surfc函数形成的曲面')
subplot(2,1,2)
x=x(1,:);
y=y(:,1);
i=find(y>0.8&y<1.2);
j=find(x>-0.6&x<0.5);
z(i,j)=nan*z(i,j);
surfl(x,y,z)
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
title('Figure2:surfl函数形成的曲面')
实例22:片状图
function shili22
h0=figure('toolbar','none',...
'position',[200 150 550 350],...
'name','实例22');
subplot(1,2,1)
x=rand(1,20);
y=rand(1,20);
z=peaks(x,y*pi);
t=delaunay(x,y);
trimesh(t,x,y,z)
hidden off
title('Figure1:Triangular Surface Plot');
subplot(1,2,2)
x=rand(1,20);
y=rand(1,20);
z=peaks(x,y*pi);
t=delaunay(x,y);
trisurf(t,x,y,z)
title('Figure1:Triangular Surface Plot');
实例23:视角的调整
function shili23
h0=figure('toolbar','none',...
'position',[200 150 450 350],...
'name','实例23');
x=-5:0.5:5;
[x,y]=meshgrid(x);
r=sqrt(x.^2+y.^2)+eps;
z=sin(r)./r;
subplot(2,2,1)
surf(x,y,z)
xlabel('X-axis')
ylabel('Y-axis')
zlabel('Z-axis')
title('Figure1')
view(-37.5,30)
subplot(2,2,2)
surf(x,y,z)
xlabel('X-axis')
ylabel('Y-axis')
zlabel('Z-axis')
title('Figure2')
view(-37.5+90,30)
subplot(2,2,3)
surf(x,y,z)
xlabel('X-axis')
ylabel('Y-axis')
zlabel('Z-axis')
title('Figure3')
view(-37.5,60)
subplot(2,2,4)
surf(x,y,z)
xlabel('X-axis')
ylabel('Y-axis')
zlabel('Z-axis')
title('Figure4')
view(180,0)
实例24:向量场的绘制
function shili24
h0=figure('toolbar','none',...
'position',[200 150 450 350],...
'name','实例24');
subplot(2,2,1)
z=peaks;
ribbon(z)
title('Figure1')
subplot(2,2,2)
[x,y,z]=peaks(15);
[dx,dy]=gradient(z,0.5,0.5);
contour(x,y,z,10)
hold on
quiver(x,y,dx,dy)
hold off
title('Figure2')
subplot(2,2,3)
[x,y,z]=peaks(15);
[nx,ny,nz]=surfnorm(x,y,z);
surf(x,y,z)
hold on
quiver3(x,y,z,nx,ny,nz)
hold off
title('Figure3')
subplot(2,2,4)
x=rand(3,5);
y=rand(3,5);
z=rand(3,5);
c=rand(3,5);
fill3(x,y,z,c)
grid on
title('Figure4')
实例25:灯光定位
function shili25
h0=figure('toolbar','none',...
'position',[200 150 450 250],...
'name','实例25');
vert=[1 1 1;1 2 1;
2 2 1;2 1 1;
1 1 2;1 2 2;
2 2 2;2 1 2];
fac=[1 2 3 4;2 6 7 3;
4 3 7 8;1 5 8 4;
1 2 6 5;5 6 7 8];
grid off
sphere(36)
h=findobj('type','surface');
set(h,'facelighting','phong',...
'facecolor',...
'interp',...
'edgecolor',[0.4 0.4 0.4],...
'backfacelighting',...
'lit')
hold on
patch('faces',fac,'vertices',vert,...
'facecolor','y');
light('position',[1 3 2]);
light('position',[-3 -1 3]);
material shiny
axis vis3d off
hold off
实例26:柱状图
function shili26
h0=figure('toolbar','none',...
'position',[200 50 450 450],...
'name','实例26');
subplot(2,1,1)
x=[5 2 1
8 7 3
9 8 6
5 5 5
4 3 2];
bar(x)
xlabel('X轴');
ylabel('Y轴');
title('第一子图');
subplot(2,1,2)
y=[5 2 1
8 7 3
9 8 6
5 5 5
4 3 2];
barh(y)
xlabel('X轴');
ylabel('Y轴');
title('第二子图');
精通MATLAB最优化计算的实 例 目 录
第2章 MATLAB计算基础例2-1 元胞数组创建与显示实例。 20例2-2 矩阵创建实例。 22例2-3 特殊矩阵生成函数使用实例。 23例2-4 矩阵基本运算实例。 24例2-5 矩阵函数运算实例。 24例2-6 矩阵分解运算函数使用实例。 25例2-7 复数构造实例。 26例2-8 复数矩阵构造实例。 26例2-9 复数函数绘图实例。 27例2-10 符号表达式创建实例。 29例2-11 极限和极值的符号运算实例。 31例2-12 微积分的符号运算实例。 31例2-13 常微分方程符号运算实例。 32第3章 MATLAB绘图基础例3-1 工作空间直接做图法使用实例。 34例3-2 二维图形绘制实例。 35例3-3 三维曲线绘制函数使用实例。 38例3-4 三维网格曲面图绘制应用实例。 38例3-5 阴影曲面绘制函数surf使用实例。 39例3-6 绘图命令使用实例。 41第4章 MATLAB程序设计基础例4-1 M文件创建实例。 46例4-2 return语句使用实例。 49例4-3 匿名函数创建实例。 51例4-4 显示函数输入和输出参数的数目实例。 54例4-5 可变数目的参数传递实例。 55例4-6 函数内部的输入参数修改实例。 56例4-7 函数参数传递实例。 56例4-8 全局变量使用实例。 57例4-9 函数句柄创建和调用实例。 58例4-10 处理函数句柄的函数使用实例。 59例4-11 嵌套计算与直接求值的比较实例。 69例4-12 嵌套计算与非嵌套计算的比较实例。 70例4-13 例外处理机制使用实例。 71例4-14 nargin函数应用实例。 72例4-15 全局变量使用实例。 73例4-16 通过varargin传递参数的实例。 74第5章 MATLAB优化工具箱例5-1 fminunc求解器应用实例。 85例5-2 fminsearch求解器应用实例。 86例5-3 fmincon求解器应用实例。 88例5-4 lsqnonlin求解器应用实例。 89例5-5 linprog求解器应用实例。 90例5-6 ga求解器应用实例。 91第6章 无约束一维极值问题例6-1 进退法求解极值区间实例。 95例6-2 黄金分割法求解极值实例。 98例6-3 斐波那契法求解极值实例。 101例6-4 基本牛顿法求解极值实例。 104例6-5 全局牛顿法求解极值实例。 106例6-6 割线法求解极值实例。 109例6-7 抛物线法求解极值实例。 111例6-8 三次插值法求解极值实例。 114例6-9 Goldstein法求解极值实例。 117例6-10 Wolfe-Powell法求解极值实例。 119例6-11 fminbnd函数求解极值实例1。 121例6-12 fminbnd函数求解极值实例2。 122例6-13 fminbnd函数求解极值实例3。 123例6-14 fminbnd函数求解极值实例4。 123例6-15 fminbnd函数求解极值实例5。 124例6-16 fminsearch函数求解极值实例。 125例6-17 改进的fminbnd函数求解极值实例1。 126例6-18 改进的fminbnd函数求解极值实例2。 126例6-19 改进的fminbnd函数求解极值实例3。 126例6-20 改进的fminbnd函数求解极值实例4。 127例6-21 maple函数求极小值实例1。 128例6-22 maple函数求极小值实例2。 128例6-23 maple函数求极小值实例3。 129第7章 无约束多维极值问题例7-1 模式搜索法求解无约束多维极值问题实例。 133例7-2 Rosenbrock法求解无约束多维极值问题实例。 136例7-3 单纯形搜索法求解无约束多维极值问题实例。 140例7-4 Powell法求解无约束多维极值问题实例。 144例7-5 最速下降法求解无约束多维极值问题实例。 146例7-6 共轭梯度法求解无约束多维极值问题实例。 148例7-7 牛顿法求解无约束多维极值问题实例。 150例7-8 修正牛顿法求解无约束多维极值问题实例。 152例7-9 DFP法求解无约束多维极值问题实例。 155例7-10 BFGS法求解无约束多维极值问题实例。 157例7-11 信赖域法求解无约束多维极值问题实例。 160例7-12 显式最速下降法求正定二次函数极值的应用实例。 162例7-13 fminsearch函数求解无约束多维极值问题实例1。 163例7-14 fminsearch函数求解无约束多维极值问题实例2。 164例7-15 fminsearch函数求解无约束多维极值问题实例3。 168例7-16 fminunc函数求解无约束多维极值问题实例。 169例7-17 fminimax函数求解无约束多维极值问题实例。 174第8章 约束优化问题例8-1 Rosen梯度投影法求解约束优化问题实例。 178例8-2 外点罚函数法应用实例。 181例8-3 通用罚函数法应用实例。 183例8-4 外点混合罚函数法应用实例。 186例8-5 内点罚函数法求解约束优化问题实例。 188例8-6 混合罚函数法求解约束优化问题实例。 191例8-7 加速混合罚函数法求解约束优化问题实例。 193例8-8 乘子法求解约束优化问题实例。 195例8-9 坐标轮换法求解约束优化问题实例。 199例8-10 复合形法求解约束优化问题实例。 203例8-11 fmincon函数求解约束优化问题实例。 205第9章 非线性最小二乘优化问题例9-1 G-N法求解非线性最小二乘优化问题实例。 209例9-2 修正G-N法求解非线性最小二乘优化问题实例。 211例9-3 L-M法求解非线性最小二乘优化问题实例。 214例9-4 lsqnonlin求解非线性最小二乘优化问题实例。 216第10章 线性规划例10-1 单纯形法求解线性规划实例1。 221例10-2 单纯形法求解线性规划实例2。 222例10-3 修正单纯形法求解线性规划实例。 228例10-4 大M法求解线性规划实例。 230例10-5 变量有界单纯形法求解线性规划实例。 231例10-6 linprog函数求解线性规划实例1。 234例10-7 linprog函数求解线性规划实例2。 234例10-8 linprog函数求解线性规划实例3。 235例10-9 linprog函数求解线性规划实例4。 235第11章 整数规划例11-1 割平面法求解整数规划实例。 243例11-2 分支定界法求解整数规划实例1。 248例11-3 分支定界法求解整数规划实例2。 249例11-4 0-1规划应用实例。 251例11-5 bintprog函数求解0-1规划实例。 252第12章 二次规划例12-1 拉格朗日法求解二次规划实例。 255例12-2 起作用集法求解二次规划实例。 259例12-3 路径跟踪法求解二次规划实例。 263例12-4 quadprog函数求解二次规划实例1。 265例12-5 quadprog函数求解二次规划实例2。 265第13章 粒子群优化算法例13-1 基本粒子群算法应用实例。 273例13-2 带压缩因子的粒子群算法应用实例。 278例13-3 线性递减权重的粒子群算法应用实例。 281例13-4 自适应权重的粒子群算法应用实例。 285例13-5 随机权重的粒子群算法应用实例。 288例13-6 同步变化的学习因子粒子群算法应用实例。 290例13-7 同步变化的学习因子粒子群算法应用实例。 293例13-8 二阶粒子群算法应用实例。 296例13-9 二阶振荡粒子群算法应用实例。 299例13-10 混沌粒子群算法应用实例。 302例13-11 基于自然选择的粒子群算法应用实例。 305例13-12 基于杂交的粒子群算法应用实例。 309例13-13 基于模拟退火的粒子群算法应用实例。 312第14章 遗传算法例14-1 基本遗传算法应用实例。 317例14-2 顺序选择遗传算法应用实例。 321例14-3 适值函数标定的遗传算法应用实例。 324例14-4 大变异遗传算法应用实例。 329例14-5 自适应遗传算法应用实例。 333例14-6 双切点交叉遗传算法应用实例。 336例14-7 多变异位自适应遗传算法应用实例。 340例14-8 优化工具的ga求解器应用实例1。 341例14-9 优化工具的ga求解器应用实例2。 342第15章 工程最优化问题实例例15-1 生产任务分配问题应用实例1。 346例15-2 生产任务分配问题应用实例2。 347例15-3 运输问题应用实例。 350例15-4 生产运输问题应用实例1。 354例15-5 生产运输问题应用实例2。 357例15-6 资源利用问题应用实例。 359例15-7 下料问题应用实例。 361例15-8 配套问题应用实例。 362例15-9 有限选址问题应用实例。 364例15-10 生产组织与计划问题应用实例。 365例15-11 选址问题应用实例。 367例15-12 销售利润最大化问题应用实例。 368例15-13 库存问题应用实例1。 370例15-14 库存问题应用实例2。 370例15-15 库存问题应用实例3。 371例15-16 最大体积问题应用实例。 372例15-17 资源分配问题应用实例。 372例15-18 和三角形有关的极值问题应用实例1。 373例15-19 和三角形有关的极值问题应用实例2。 374例15-20 点到曲线距离问题应用实例1。 375例15-21 点到曲线距离问题应用实例2。 376例15-22 点到曲线距离问题应用实例3。 377例15-23 曲线到曲线距离问题应用实例。 379第16章 经济金融最优化问题实例例16-1 未考虑销售影响的利润最大化问题实例。 382例16-2 考虑销售影响的利润最大化问题实例。 383例16-3 最优消费问题应用实例。 384例16-4 最优投资分配问题应用实例。 385例16-5 资金最优使用问题实例。 387例16-6 古诺竞争模型应用实例。 389例16-7 斯塔克尔伯格模型应用实例。 390例16-8 标准均值-方差投资组合应用实例。 392例16-9 有上界的均值-方差投资组合应用实例。 393例16-10 有交易成本的均值-方差投资组合应用实例。 394例16-11 自融资均值-方差投资组合应用实例。 395
MATLAB电机仿真精华50例的目录
MATLAB电机仿真精华50例磁路与变压器篇实例1 电感系数计算实例2 磁性材料的磁化曲线实例3 磁性材料的磁滞回线实例4 交流磁路电流畸变实例5 变压器空载运行实例6 变压器负载运行实例7 变压器空载合闸实例8 变压器副边突然短路直流电机篇实例9 并励直流发电机的自激实例10 直流发电机的空载特性实例11 直流发电机的外特性实例12 直流发电机的调整特性实例13 他励直流发电机的突然短路实例14 直流电动机的转矩特性实例15 直流电动机的机械特性实例16 直流电动机直接起动实例17 直流电动机分级起动实例18 直流电动机软起动实例19 直流电动机调节电枢电压调速实例20 直流电动机调节励磁电流调速实例21 直流电动机电枢回路串电阻调速实例22 晶闸管一直流电动机开环调速实例23 晶闸管一直流电动机闭环一静差调速系统实例24 晶闸管一直流电动机转速、电流双闭环调速一无静差调速系统实例25 直流电动机能耗制动实例26 直流电动机反接制动实例27 直流电动机反馈制动异步电机篇实例28 三相异步电机的机械特性实例29 基于aBO数学模型的三相异步电机仿真模型及其仿真实例30 基于dqO数学模型的三相异步电机仿真模型及其仿真实例31 三相异步电机直接起动仿真模型实例32 三相异步电机串电抗器起动仿真模型实例33 三相异步电机变压器起动仿真模型实例34 三相异步电机转子绕组串电阻起动仿真模型实例35 三相异步电机调压调速仿真模型实例36 三相异步电机变频调速仿真模型实例37 三相异步电机转子绕组串电阻调速仿真模型实例38 三相异步电机反转仿真模型实例39 三相异步电机自然制动仿真模型实例40 三相异步电机能耗制动仿真模型实例41 三相异步电机反接制动(与反转完全相同)仿真模型实例42 三相异步电机反馈制动(制动后负载为负值)仿真模型实例43 三相异步电机矢量控制调速系统仿真模型实例44 三相异步发电机仿真同步电机篇实例45 三相同步发电机空载建立电压的仿真程序及其仿真实例46 三相同步发电机三相突然短路仿真程序及其仿真实例47 同步发电机转子绕组短路,定子绕组突加对称电压仿真程序及仿真实例48 同步发电机dqBO系统仿真程序及不对称问题仿真实例49 三相同步发电机接整流负载时交流电压谐波仿真实例50 六相交直流混合供电同步发电机仿真附录A 基于GUI功能设计电机仿真实验系统参考文献
求用matlab制作简单动画实例
Speed = 1; %数字越大越快W = ones(40);B = zeros(40);P1 = [B W];P1 = repmat(P1,1,10);P2 = [W B];P2 = repmat(P2,1,10);P = [P1;P2];P = repmat(P,8,1);imshow(P)drawnow;pause(2/Speed);f = 1;tic;while f t = toc; if t >= 30 f = 0; end Pn = P; Pn(P==1) = rand(1); Pn(P==0) = rand(1); Pn(1,1) = 1; imagesc(Pn); axis equal; colormap jet; drawnow; pause(2/Speed);end看看满意不
具体制作方法如下:
1、首先,这里举例代码如下:
x=-8:0.5:8;
[XX,YY]=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
生成了一幅静态的surf图片,XX,YY由meshgrid生成。
2、下面输入
theAxes=axis;,
右侧可以看到,theAxes=[0,40,0,40,-0.5,1],这是surf函数生成的,因为上面绘制的surf没有使用surf(XX,YY,Z)所以坐标范围不同,但是无论什么坐标范围,这里都先取出来,存到一个变量中,后面备用。
3、fmat=moviein(20);
将fmat保存为一个moviein结构体,20表示动画有20帧。
4、输入:
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
这里就是分别画每一帧的图像,此处我们的surf是分20份来画,坐标轴统一为之前的保存的坐标轴,把moviein结构体fmat的取为getframe,如图。
5、movie(fmat,10);就是动画放10遍。
6、全代码如下:
x=-8:0.5:8;
[XX,YY]=meshgrid(x);
r=sqrt(XX.^2+YY.^2)+eps;
Z=sin(r)./r;
surf(Z);
theAxes=axis;
fmat=moviein(20);
for j=1:20;
surf(sin(2*pi*j/20)*Z,Z)
axis(theAxes)
fmat(:,j)=getframe;
end
movie(fmat,10)
求助完成MATLAB的几个程序
1.编写一段程序,生成一个螺旋上升且半径递减的三维图形
2,绘制在定义域X=[-2,2];Y=[-2,2]内的曲面(利用meshgrid)3.利用rand产生10个随机数,利用for循环对其进行排序(从大到小)
只要把那个编程写出来,能够根据编写的那个编程得出所要做的东西就可以了
对第5题做个测试,希望有所帮助。代码%
By
lyqmathclc;
clear
all;
close
all;x
=
linspace(-2*pi,
2*pi);t
=
55;y1
=
30*x.^2
+
5*x
+
6;y2
=
1000*sin(t*pi*x)
+
500;y3
=
3*exp(x)
+
x.^(log10(x));figure;h
=
plot(x,
y1,
x,
y2,
x,
y3);set(h,
...
{'LineStyle'},
{'--';
':';
'-.'},...
{'Marker'},
{'s';
'p';
'o'},
...
{'Color'},
{'r';
'g';
'b'},
...
{'LineWidth'},
{1;
2;
3});legend(h,
{'y1',
'y2',
'y3'});figure;subplot(2,
2,
4);
plot(x,
y1);subplot(2,
2,
3);
plot(x,
y2);subplot(2,
2,
1);
plot(x,
y3);
结果
如何用matlab求解二阶微分方程,以及程序实例
1、首先看一下matlab求解方程的方法,首先指明所解方程的变量,然后指明方程,未知数和限制条件,最后求解方程。
2、在matlab命令行窗口中输入symsx[x,params,conds]=solve(sin(x)==1,'ReturnConditions', true),按回车键可以得到方程解。
3、转换一下,可以看到sin(x)=1方程的解是如下图所示 。
4、也可以求解下面的一个方程。
5、输入symsabcyx;[x,y]=solve([a*x^2+b*y+c==0,a*x+2*y==4],[x,y])。
6、按回车键可以得到方程解。
求解几个Matlab的程序
一、 实验内容:
2.讨论资金积累、国民收入与人口增长的关系.
(1)若国民平均收入x与人口平均资金积累y成正比,说明仅当总资金积累的相对增长率k大于人口的相对增长率r时,国民平均收入才是增长的.
(2)作出k(x)和r(x)的示意图,分析人口激增会导致什么后果.
二、实验步骤:
1.【建模分析】:
(1).(X(t),Y(t))与(x(t),y(t))之间的距离总是硬棒的长度,于是
(1)
(2).玩具总是在硬棒的方向上运动,因此,两个位置的差向量是玩具的速度方向的倍数, :
(2)
(3)玩具的速度依赖于小孩的速度向量Vc的方向。小孩的速度 在硬棒上的投影是玩具的速度 的模。
【特例】:假设小孩在半径为a(硬棒的长)的圆上行走。在此特殊情况下,玩具停留在此圆的圆心,根本不运动。
将式(2)代入式(1)可得,
(3)
于是
(4)
(4)如何利用 ?
标准化差向量 ,可得单位向量 ;
确定 在 生成的子空间上的投影: ;
(5)数值解法
(6)数值解Matlab程序:
2.x1(t)---t时刻总资金积累量,x2(t)---t时刻人口数量,x3(t)---t时刻国民平均收入量,k---总资金的相对增长率,r---人口的相对增长率
假设:
(1)总资金增长和人口增长均满足指数增长,由题知:国民平均收入与按人口平均资金积累成正比,并设此比例系数为a。
(2)根据网上获得的数据,自2007年起,我国人口总数为1321851188,总资金积累量(国内生产总值)为246637亿元,人口增长率为1.07%,总资金(国内生产总值)增长率为11.5%。a的值约为1。
求解的Matlab程序代码:
先建立M文件fundPopulation.m如下示:
function dx=fundPopulation(t,x)
dx=zeros(3,1);
k=0.115;r=0.0117;a=1;x(3)=a*x(1)/x(2);
dx(1)=k*x(1);dx(2)=r*x(2);dx(3)=a*(k-r)*x(3);
主程序weifengfangcheng.m 如下:
[t,x]=ode45('fundPopulation',[2007 2050],[246637 1321851188 18658.45]);
figure(1),plot(t,x(:,1),'k*') %作出总资产积累量与时间的图像
xlabel('时间[年]'),ylabel('总资金积累[亿元]')
figure(2),plot(t,x(:,2),'m-') %作出人口数与时间的图像
hold on
xlabel('时间[年]'),ylabel('人口数')
figure(3),plot(t,x(:,3),'r+') %作出国民平均收入与时间的图像
hold on
xlabel('时间[年]'),ylabel('国民平均收入[亿元]')
三、实验结果分析
答: 1.运行结果:
2.由上面推理知:国民平均收入量满足指数增长,其增长率为(k-r),故仅当总资金积累的相对增长率k大于人口的相对率r时,国民平均收入才是增长的。
上图(1)是总资金积累量与时间的图像。
上图(2)是人口数与时间的关系。
上图(3)是国民平均收入与时间的关系。
所以综上,当人口激增时,在一定程度上,人口平均资金积累和国民平均收入都会减少,人们的生活水平将会下降。国家应该实施宏观调控来控制人口增长,以保证人们的生活水平进一步提高。
MATLAB线性神经网络的程序,跪求。。
美国Michigan 大学的 Holland 教授提出的遗传算法(GeneticAlgorithm, GA)是求解复杂的组合优化问题的有效方法 ,其思想来自于达尔文进化论和门德尔松遗传学说 ,它模拟生物进化过程来从庞大的搜索空间中筛选出较优秀的解,是一种高效而且具有强鲁棒性方法。所以,遗传算法在求解TSP和 MTSP问题中得到了广泛的应用。
matlab程序如下:
function[opt_rte,opt_brk,min_dist] =mtspf_ga(xy,dmat,salesmen,min_tour,pop_size,num_iter)
%%
%实例
% n = 20;%城市个数
% xy = 10*rand(n,2);%城市坐标 随机产生,也可以自己设定
% salesmen = 5;%旅行商个数
% min_tour = 3;%每个旅行商最少访问的城市数
% pop_size = 80;%种群个数
% num_iter = 200;%迭代次数
% a = meshgrid(1:n);
% dmat =reshape(sqrt(sum((xy(a,:)-xy(a',:)).^2,2)),n,n);
% [opt_rte,opt_brk,min_dist] = mtspf_ga(xy,dmat,salesmen,min_tour,...
% pop_size,num_iter);%函数
%%
[N,dims]= size(xy); %城市矩阵大小
[nr,nc]= size(dmat); %城市距离矩阵大小
n = N -1;% 除去起始的城市后剩余的城市的数
% 初始化路线、断点的选择
num_brks= salesmen-1;
dof = n- min_tour*salesmen; %初始化路线、断点的选择
addto =ones(1,dof+1);
for k =2:num_brks
addto = cumsum(addto);
end
cum_prob= cumsum(addto)/sum(addto);
%% 初始化种群
pop_rte= zeros(pop_size,n); % 种群路径
pop_brk= zeros(pop_size,num_brks); % 断点集合的种群
for k =1:pop_size
pop_rte(k,:) = randperm(n)+1;
pop_brk(k,:) = randbreaks();
end
% 画图路径曲线颜色
clr =[1 0 0; 0 0 1; 0.67 0 1; 0 1 0; 1 0.5 0];
ifsalesmen > 5
clr = hsv(salesmen);
end
%%
% 基于遗传算法的MTSP
global_min= Inf; %初始化最短路径
total_dist= zeros(1,pop_size);
dist_history= zeros(1,num_iter);
tmp_pop_rte= zeros(8,n);%当前的路径设置
tmp_pop_brk= zeros(8,num_brks); %当前的断点设置
new_pop_rte= zeros(pop_size,n);%更新的路径设置
new_pop_brk= zeros(pop_size,num_brks);%更新的断点设置
foriter = 1:num_iter
% 计算适应值
for p = 1:pop_size
d = 0;
p_rte = pop_rte(p,:);
p_brk = pop_brk(p,:);
rng = [[1 p_brk+1];[p_brk n]]';
for s = 1:salesmen
d = d + dmat(1,p_rte(rng(s,1)));% 添加开始的路径
for k = rng(s,1):rng(s,2)-1
d = d + dmat(p_rte(k),p_rte(k+1));
end
d = d + dmat(p_rte(rng(s,2)),1); % 添加结束的的路径
end
total_dist(p) = d;
end
% 找到种群中最优路径
[min_dist,index] = min(total_dist);
dist_history(iter) = min_dist;
if min_dist < global_min
global_min = min_dist;
opt_rte = pop_rte(index,:); %最优的最短路径
opt_brk = pop_brk(index,:);%最优的断点设置
rng = [[1 opt_brk+1];[opt_brk n]]';%设置记录断点的方法
figure(1);
for s = 1:salesmen
rte = [1 opt_rte(rng(s,1):rng(s,2))1];
plot(xy(rte,1),xy(rte,2),'.-','Color',clr(s,:));
title(sprintf('城市数目为 = %d,旅行商数目为 = %d,总路程 = %1.4f, 迭代次数 =%d',n+1,salesmen,min_dist,iter));
hold on
grid on
end
plot(xy(1,1),xy(1,2),'ko');
hold off
end
% 遗传操作
rand_grouping = randperm(pop_size);
for p = 8:8:pop_size
rtes = pop_rte(rand_grouping(p-7:p),:);
brks = pop_brk(rand_grouping(p-7:p),:);
dists =total_dist(rand_grouping(p-7:p));
[ignore,idx] = min(dists);
best_of_8_rte = rtes(idx,:);
best_of_8_brk = brks(idx,:);
rte_ins_pts = sort(ceil(n*rand(1,2)));
I = rte_ins_pts(1);
J = rte_ins_pts(2);
for k = 1:8 %产生新种群
tmp_pop_rte(k,:) = best_of_8_rte;
tmp_pop_brk(k,:) = best_of_8_brk;
switch k
case 2% 倒置操作
tmp_pop_rte(k,I:J) =fliplr(tmp_pop_rte(k,I:J));
case 3 % 互换操作
tmp_pop_rte(k,[I J]) =tmp_pop_rte(k,[J I]);
case 4 % 滑动平移操作
tmp_pop_rte(k,I:J) =tmp_pop_rte(k,[I+1:J I]);
case 5% 更新断点
tmp_pop_brk(k,:) = randbreaks();
case 6 % 倒置并更新断点
tmp_pop_rte(k,I:J) =fliplr(tmp_pop_rte(k,I:J));
tmp_pop_brk(k,:) =randbreaks();
case 7 % 互换并更新断点
tmp_pop_rte(k,[I J]) =tmp_pop_rte(k,[J I]);
tmp_pop_brk(k,:) =randbreaks();
case 8 % 评议并更新断点
tmp_pop_rte(k,I:J) =tmp_pop_rte(k,[I+1:J I]);
tmp_pop_brk(k,:) =randbreaks();
otherwise
end
end
new_pop_rte(p-7:p,:) = tmp_pop_rte;
new_pop_brk(p-7:p,:) = tmp_pop_brk;
end
pop_rte = new_pop_rte;
pop_brk = new_pop_brk;
end
figure(2)
plot(dist_history,'b','LineWidth',2);
title('历史最优解');
xlabel('迭代次数')
ylabel('最优路程')
% 随机产生一套断点 的集合
function breaks = randbreaks()
if min_tour == 1 % 一个旅行商时,没有断点的设置
tmp_brks = randperm(n-1);
breaks =sort(tmp_brks(1:num_brks));
else % 强制断点至少找到最短的履行长度
num_adjust = find(rand
<cum_prob,1)-1;
spaces =ceil(num_brks*rand(1,num_adjust));
adjust = zeros(1,num_brks);
for kk = 1:num_brks
adjust(kk) = sum(spaces == kk);
end
breaks = min_tour*(1:num_brks) +cumsum(adjust);
end
end
disp('最优路径为:/n')
disp(opt_rte);
disp('其中断点为为:/n')
disp(opt_brk);
end
</cum_prob,1)-1;
如何用matlab编写矩阵运算程序?
一、矩阵的表示方法
1、矩阵元素必须在”[]”内;
2、矩阵的同行元素之间用空格(或”,”)隔开;
3、矩阵的行与行之间用”;”(或回车符)隔开;
4、矩阵的元素可以是数值、变量、表达式或函数;
5、矩阵的尺寸不必预先定义。
二、矩阵的运算
1、算术运算
MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)。运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。
(1)矩阵加减运算假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。
(2)矩阵乘法假定有两个矩阵A和B,若A为m*n矩阵,B为n*p矩阵,则C=A*B为m*p矩阵。
(3)矩阵除法在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。
A\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果相同。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系,一般A\B≠B/A。
(4)矩阵的乘方一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
(5)矩阵的转置对实数矩阵进行行列互换,对复数矩阵,共轭转置,特殊的,操作符.’共轭不转置(见点运算);
(6)点运算在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.\和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。
2、关系运算
MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。关系运算符的运算法则为:
(1)当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0;
(2)当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成;
(3)当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。
3、逻辑运算
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。逻辑运算的运算法则为:
(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示;
(2)设参与逻辑运算的是两个标量a和b,那么,a&b a,b全为非零时,运算结果为1,否则为0。a|b a,b中只要有一个非零,运算结果为1。~a当a是零时,运算结果为1;当a非零时,运算结果为0。
(3)若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成;
(4)若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成;
(5)逻辑非是单目运算符,也服从矩阵运算规则;
(6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。
扩展资料:1.获取矩阵元素
可以通过下标(行列索引)引用矩阵的元素,如Matrix(m,n)。
也可以采用矩阵元素的序号来引用矩阵元素。
矩阵元素的序号就是相应元素在内存中的排列顺序。
在MATLAB中,矩阵元素按列存储。
序号(Index)与下标(Subscript)是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。
其相互转换关系也可利用sub2ind和ind2sub函数求得。
2.矩阵拆分
利用冒号表达式获得子矩阵:
(1)A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
(2)A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。
此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。
利用空矩阵删除矩阵的元素:
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
3、特殊矩阵
(1)魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。
(2)范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
(3)希尔伯特矩阵在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
(4)托普利兹矩阵托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x,y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。
(5)伴随矩阵MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
(6)帕斯卡矩阵我们知道,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。
参考资料:
百度百科——帕斯卡矩阵
百度百科——MATLAB
求一个简单的matlab程序代码,只要符合要求即可
x=[1 3 5 -1]';
n=length(x);
for i=1:n;
if x(i)>2
y(i)=fun1(x(i));
else
y(i)=fun2(x(i));
end
end
y
这是主程序。下面两个分别保存成M文件
function y = fun1(x)
y=x*x+1;
end
function y = fun2(x)
y=x-1;
end