matlab程序实例100题(matlab题目)

本文目录
- matlab题目
- matlab编程:对于大于6小于100的偶数,用巴德哥赫猜想列出所有偶数的求和方式!
- matlab 多目标优化的实际例子
- matlab程序设计:题目:设已有数学模型t=an^2+bn,数据(n,t)的十个观测值分别为:
- matlab考试题求帮助!谢谢
- Matlab编程问题,求大神帮忙
- 用matlab做这道题怎么做啊,字有点多等会儿再给你看
matlab题目
P=round(rand(100,5)*100)
%%%%%%%%%%%%%
,1);
,1);
%%%%%%%%%%%%%
sum(P,1)/100
std(P,0,1)
%%%%%%%%%%%%%
Q=sum(P,2);
=max(Q);
=min(Q);
%%%%%%%%%%%%%
=sort(Q,’descend’)
matlab编程:对于大于6小于100的偶数,用巴德哥赫猜想列出所有偶数的求和方式!
参考代码:
for n=6:2:100
I=1:n/2;
ndx=arrayfun(@(i)all(isprime()),I);
fprintf(’\n%i’,n)
fprintf(’ = %i+%i’,)
end
fprintf(’\n’);
输出(部分):
6 = 3+3
8 = 3+5
10 = 3+7 = 5+5
12 = 5+7
14 = 3+11 = 7+7
。。。。。
96 = 7+89 = 13+83 = 17+79 = 23+73 = 29+67 = 37+59 = 43+53
98 = 19+79 = 31+67 = 37+61
100 = 3+97 = 11+89 = 17+83 = 29+71 = 41+59 = 47+53
matlab 多目标优化的实际例子
遗传算法GA求解无约束最优化问题,采用遗传算法求函数的最小值:
f(x,y)=x^4-16x^2-5xy+y^4-16y^2-5y
函数如下:
f=inline(’x(1)^4-16*x(1)^2-5*x(1)*x(2)+x(2)^4-16*x(2)^2-5*x(2)’,’x’);
l=;
u=;
x0=;
Np=30;
Nb=;
Pc=0.5;
Pm=0.01;
eta=0.8;
kmax=200;
=fminsearch(f,x0)
=genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax)
其中调用的遗传算法函数为如下几个
genetic函数
function =genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax)
N=length(x0);
if nargin《10,kmax=100;end
if nargin《9|eta》1|eta《=0,eta=1;end
if nargin《8,Pm=0.01;end
if nargin《7,Pc=0.5;end
if nargin《6,Nb=8*ones(1,N);end
if nargin《5,Np=10;end
NNb=sum(Nb);
xo=x0(:)’;l=l(:)’;u=u(:)’;
fo=feval(f,xo);
X(1,:)=xo;
for n=2:Np,X(n,:)=1+rand(size(x0)).*(u-1);
P=gen_encode(X,Nb,l,u);
for k=1:kmax
X=gen_decode(P,Nb,l,u);
for n=1:Np,fX(n)=feval(f,X(n,:));end
=min(fX);
if fxb《fo,fo=fxb;xo=X(nb,:);end
fX1=max(fxb)-fX;
fXm=fX1(nb);
if fXm《eps,return;end
for n=1:Np
X(n,:)=X(n,:)+eta*(fXm-fX1(n))/fXm*(X(nb,:)-X(n,:));
end
P=gen_encode(X,Nb,l,u);
is=shuffle();
for n=1:2:Np-1
if rand《Pc
P(is(n:n+1),:)=crossover(P(is(n:n+1),:),Nb);
end
end
P=mutation(P,Nb,Pm);
end
gen_encode函数
function P=gen_encode(X,Nb,l,u)
Np=size(X,l);
N=length(Nb);
for n=1:Np
b2=0;
for m=1:N
b1=b2+1;
b2=b2+Nb(m);
Xnm=(2^Nb(m)-1)*(X(n,m)-l(m))/(u(m)-l(m));
P(n,b1:b2)=dec2bin(Xnm,Nb(m));
end
end
gen_decode函数
function X=gen_decode(P,Nb,l,u)
Np=size(P,l);
N=length(Nb);
for n=1:Np
b2=0;
for m=1:N
b1=b2+1;
b2=b1+Nb(m)-1;
X(n,m)=bin2dec(P(n,b1:b2))*(u(m)-l(m))/(2^Nb(m)-1)+l(m);
end
end
crossover函数
function chrms2=crossover(chrms2,Nb)
Nbb=length(Nb);
b2=0;
for m=1:Nbb
b1=b2+1;
bi=b1+mod(floor(rand*Nb(m)),Nb(m));
b2=b2+Nb(m);
tmp=chrms2(1,bi:b2);
chrms2(1,bi:b2)=chrms2(2,bi:b2);
chrms2(2,bi:b2)=tmp;
end
mutation函数
function P=mutation(P,Nb,Pm)
Nbb=length(Nb);
for n=1:size(P,1)
b2=0;
for m=1:Nbb
if rand 《Pm
b1=b2+1;
bi=b1+mod(floor(rand*Nb(m)),Nb(m));
b2=b2+Nb(m);
P(n,bi)=~P(n,bi);
end
end
end
shuffle函数
function is=shuffle(is)
N=length(is);
for n=N:-1:2
in=ceil(rand*(n-1));
tmp=is(in);is(in)=is(n);is(n)=tmp;
end
运行结果为
xos =
3.0453 3.1031
fos =
-186.4878
xo_gen=
2.9805 3.3150
fo_gen=
-184.2604
matlab程序设计:题目:设已有数学模型t=an^2+bn,数据(n,t)的十个观测值分别为:
解题过程参看下面的图。图中的点是原始数据点,线是拟合后的曲线。
下面给出代码:
%以下是Matlab代码:
t=;
n=;
A=;
B=;
x=A\B;
a=x(1)
b=x(2)
t_fit=a*n.^2+b*n;
plot(n,t,’r*’,n,t_fit);
xlabel(’n’); ylabel(’t’);
legend(’source data’,’fitting data’)
最后得到结果:
a = 2.6113e-006
b = 0.0145
当然你也可以参照一楼的matlab程序,他是直接调用系统的多项式拟合函数。
另外,还可以这样:
AA=’;
BB=t’;
xx=AA\BB;
aa=xx(1)
bb=xx(2)
结果也是一样的。这个很简洁,但很有技巧,你看一下AA,BB的构造。
xx=AA\BB可以求解长方阵的逆。
matlab考试题求帮助!谢谢
请自行按照要求存文件。
第1题:
x1=0:pi/10:3*pi;
t1=linspace(0,3*pi,3*10+1);
第2题:
a=zeros(4,6);
b=ones(4,6);
c=10+ceil(rand(4)*10);
d=diag(0:10);
第3题:
x=linspace(-4*pi,4*pi,100);
y1=sin(x)+cos(x);
y2=2*sin(2*x+pi/3)+1;
plot(x,y1,’r^’,x,y2,’b-’)
title(’y_1 & y_2’);
legend(’sin(x)+cos(x)’,’2*sin(2*x+pi/3)+1’,1)
xlabel x; ylabel y
第4题:
可以用符号运算的dsolve直接求解,也可以用ode45的数值方法求解。
y=dsolve(’D3y+1.2*D2y+1.6*Dy+0.9*y-1=0’,’y(0)=0,Dy(0)=0,D2y(0)=0’);
ezplot(y,)
axis auto
第5题:
这里有个问题,100分到五分制的转换其实有不同的划分规则,程序只是提现转换思路。
function s5 = Score100to5(s100)
if s100 》= 90
s5 = 5;
elseif s100 》= 80
s5 = 4;
elseif s100 》= 70
s5 = 3;
elseif s100 》= 60
s5 = 2;
else
s5 = 1;
end
第6题:mdl文件见 附件。
Matlab编程问题,求大神帮忙
1、使用sort函数对矩阵元素进行排序
2、使用randint函数生成随机整数,使用find函数找到相应的矩阵元素。
程序如下:
%程序1
x=randn(5,5)
x=sort(x,2)
%程序2
y=randint(5,5,)
y(find(mod(y,3)==0))=1
y(find(mod(y,7)==0))=1
y(find(mod(y,5)==0))=0
结果为:
用matlab做这道题怎么做啊,字有点多等会儿再给你看
clc;clear;
x=;
A=length(x(x《100 & x》=90));
B=length(x(x《90 & x》=80));
C=length(x(x《80 & x》=70));
D=length(x(x《70 & x》=60));
E=length(x(x《60));
X=;
explode=;
labels={’90-100’,’80-90’,’70-80’,’60-70’,’《60’};
% pie(X,explode);
pie(X,explode,labels);
title(’十人成绩统计’);

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






