matlab编程第二版
⑴ 冈萨雷斯《数字图像处理》第二版和matlab版的区别
如果你没有图像处理的基础,建议别买matlab版的,那个第二版讲的是基础理论知识,matlab版只是这本书的配套书籍。如果你没有图像处理的基础,直接看matlab版可能看不太懂。可以下个电子版的,在需要编程的时候参考一下就可以了。
⑵ 谁有matlab程序设计与应用(第二版)刘卫国主编的课后实验一到实验十五的全部答案急急急
MATLAB程序设计与应用(第二版)实验参考答案
%实验一 MATLAB运算基础
%第一题
%(1)
z1=2*sin(85*pi/180)/(1+exp(2))
%(2)
x=[2,1+2i;-0.45,5];
z2=0.5*log(x+sqrt(1+x.^2))
%(3)
a=-3.0:0.1:3.0;
z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)
%(4)
t=0:0.5:2.5;
z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3)
%第二题
A=[12 34 -4;34 7 87;3 65 7];
B=[1 3 -1;2 0 3;3 -2 7];
A+6*B
A-B+eye(size(A))
A*B
A.*B
A^3
A.^3
A/B
B\A
[A,B]
[A([1,3],:);B^2]
%第三题
A=[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]
B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]
C=A*B
F=size(C)
D=C(F(1)-2:F(1),F(2)-1:F(2))
whos
%第四题
%(1):
A=100:999;
B=rem(A,21);
C=length(find(B==0))
%(2):
A='lsdhKSDLKklsdkl';
k=find(A>='A'&A<='Z');
A(k)=[]
%实验二 MATLAB矩阵分析与处理
%第一题
E=eye(3);
R=rand(3,2);
O=zeros(2,3);
S=diag([2,3]);
A=[E,R;O,S];
A^2
B=[E,(R+R*S);O,S^2]
%第二题
H=hilb(5)
P=pascal(5)
Hh=det(H)
Hp=det(P)
Th=cond(H)
Tp=cond(P)
%第三题:
A=fix(10*rand(5))
H=det(A)
Trace=trace(A)
Rank=rank(A)
Norm=norm(A)
%第四题:
A=[-29,6,18;20,5,12;-8,8,5]
[V,D]=eig(A)
%数学意义略
%第五题方法一:
%(1):
A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];
b=[0.95,0.67,0.52]';
x=inv(A)*b
%(2):
B=[0.95,0.67,0.53]';
x=inv(A)*B
%(3):
cond(A)
%第五题方法二:
A=hilb(4)
A(:,1)=[]
A(4,:)=[]
B=[0.95,0.67,0.52]';
X=inv(A)*B
B1=[0.95,0.67,0.53]';
X1=inv(A)*B1
N=cond(B)
N1=cond(B1)
Na=cond(A) %矩阵A为病态矩阵
%第六题
A=[1,4,9;16,25,36;49,64,81]
B=sqrtm(A)
C=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算
%实验三 选择程序结构设计
%第一题程序一
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
y=[]; %建立存放所有y值的矩阵
for x0=x
if x0<0&x0~=-3
y=[y,x0*x0+x0-6];
elseif x0>=0&x0<5&x0~=2&x0~=3
y=[y,x0*x0-5*x0+6];
else
y=[y,x0*x0-x0-1];
end
end
x %输出所有x
y %输出所有y
%第一题程序二
x=[-5,-3,1,2,2.5,3,5];
y=[];
for a=1:7
if x(a)<0&x(a)~=-3
y=[y,(x(a))^2+x(a)-6];
elseif x(a)>=0&x(a)<5&x(a)~=2&x(a)~=3
y=[y,(x(a))^2-5*x(a)+6];
else
y=[y,x(a)*x(a)-x(a)-1];
end
end
%第二题程序一:
x=input('请输入一个百分制成绩:');
if x>100|x<0
disp('您输入的成绩不是百分制成绩,请重新输入。');
else
if x<=100&x>=90
disp('A');
elseif x<=89&x>=80
disp('B');
elseif x<=79&x>=70
disp('C');
elseif x<=69&x>60
disp('D');
else
disp('E');
end
end
%第二题程序二:
s=input('请输入一个成绩(0分到100分之间):'); %s用于存放成绩
while 1 %判断输入成绩的合理性
if s<0|s>100
disp('输入的成绩需在0到100之间,请重新输入:')
s=input('请输入一个成绩(0分到100分之间):');
else
break;
end
end
switch fix(s/10) %对成绩做出等级判断
case {9,10}
disp('A')
case 8
disp('B')
case 7
disp('C')
case 6
disp('D')
otherwise
disp('E')
end
%第三题
n=input('请输入员工工号:');
h=input('该员工工作时数是:');
if h>120
x=(h-120)*84*(1+0.15)+120*84;
elseif h<60
x=h*84-700;
else
x=h*84;
end
disp([num2str(n),'号员工','的应发工资为',num2str(x)]);
%第四题(还可以用switch语句实现)
a=fix(10+(99-10)*rand(1,2)) %产生两个随机整数
x=a(1);
y=a(2);
t=input('请输入运算符号:','s');
if t=='+'
z=x+y;
elseif t=='-'
z=x-y;
elseif t=='*'
z=x*y;
elseif t=='/'
z=x/y;
end
disp([num2str(x),t,num2str(y),'=',num2str(z)]) %输出运算结果
%第五题
a=rand(5,6) %产生5x6的随机矩阵
n=input('请输入您要输出矩阵的第几行:');
if n>5
disp('超出了矩阵的行数,矩阵的最后一行为:')
a(5,:)
else
disp(['矩阵的第',num2str(n),'行为:'])
a(n,:)
end
%实验四 循环结构程序设计
%第一题程序一
s=0;
n=input('n=?');
for i=1:n
s=s+1/i/i;
end
PI=sqrt(6*s)
pi
%第一题程序二
n=input('n=?');
a=1:n;
b=1./a.^2;
PI=sqrt(6*sum(b))
pi
%第二题
y=0;
n=1;
while(y<3)
y=y+1/(2*n-1);
n=n+1;
end
y=y-1/(2*(n-1)-1)
n=n-2
%第三题
a=input('a=?');
b=input('b=?');
Xn=1;
Xn1=a/(b+Xn);
n=0;
while abs(Xn1-Xn)>1e-5
Xn=Xn1;
Xn1=a/(b+Xn);
n=n+1;
if n==500
break;
end
end
n
Xn1
r1=(-b+sqrt(b*b+4*a))/2
r2=(-b-sqrt(b*b+4*a))/2
%第四题
for i=1:100
if i==1
f(i)=1;
elseif i==2
f(i)=0;
elseif i==3
f(i)=1;
else
f(i)=f(i-1)-2*f(i-2)+f(i-3);
end
end
max(f)
min(f)
sum(f)
length(find(f>0))
length(find(f==0))
length(find(f<0))
%第五题:
s=0;n=0;
for i=2:49
b=i*(i+1)-1;
m=fix(sqrt(b));
for j=2:m
if rem(b,j)==0
break
end
end
if j==m
n=n+1;
s=s+b;
end
end
n
s
%实验五 函数文件
%第一题
function y=mat1(x) %建立函数文件mat1.m
y=[exp(x),log(x),sin(x),cos(x)];
%在命令窗口调用上述函数文件:
y=mat1(1+i)
%第二题程序一
function [a,b,N,M]=shiyanwu2(m,n,t)
A=[m*cos(t*pi/180),-m,-sin(t*pi/180),0;m*sin(t*pi/180),0,cos(t*pi/180),0;0,n,-sin(t*pi/180),0;0,0,-cos(t*pi/180),1];
B=[0,9.8*m,0,9.8*n];
C=inv(A)*B';
a=C(1);
b=C(2);
N=C(3);
M=C(4);
%在命令窗口调用该函数文件:
m1=input('m1=');
m2=input('m2=');
theta=input('theta=');
[a1,a2,N1,N2]=shiyanwu2(m1,m2,theta)
%第二题程序二
function X=mat2(m1,m2,t)
g=9.8;
A=[m1*cos(t*pi/180),-m1,-sin(t*pi/180),0;m1*sin(t*pi/180),0,cos(t*pi/180),0;0,m2,-sin(t*pi/180),0;0,0,-cos(t*pi/180),1];
B=[0;m1*g;0;m2*g];
X=inv(A)*B;
%在命令窗口调用该函数文件:
X=mat2(1,1,60)
%第三题
function flag=mat3(x)
flag=1;
for i=2:sqrt(x)
if rem(x,i)==0
flag=0;
break;
end
end
%在命令窗口调用该函数文件:
for i=10:99
j=10*rem(i,10)+fix(i/10);
if mat3(i)&mat3(j)
disp(i)
end
end
%第四题
function y=fx(x)
y=1./((x-2).^2+0.1)+1./((x-3).^4+0.01);
%在命令窗口调用该函数文件:
y=fx(2)
a=[1,2;3,4];
y=fx(a)
%第五题
%(1)
function f1=mat5(n)
f1=n+10*log(n*n+5);
%在命令窗口中调用该函数文件:
y=mat5(40)/(mat5(30)+mat5(20))
%(2)方法一
function f2=mat6(n)
f2=0;
for i=1:n
f2=f2+i*(i+1);
end
%在命令窗口中调用该函数文件如:
y=mat6(40)/(mat6(30)+mat6(20))
%(2)方法二
function f2=mat7(n)
i=1:n;
m=i.*(i+1);
f2=sum(m);
end
%在命令窗口中调用该函数文件如:
y=mat7(40)/(mat7(30)+mat7(20))
%实验六 高层绘图操作
%第一题:
x=linspace(0,2*pi,101);
y=(0.5+3*sin(x)./(1+x.^2)).*cos(x);
plot(x,y)
%第二题:
%(1)
x=linspace(-2*pi,2*pi,100);
y1=x.^2;
y2=cos(2*x);
y3=y1.*y2;
plot(x,y1,'b-',x,y2,'r:',x,y3,'y--');
text(4,16,'\leftarrow y1=x^2');
text(6*pi/4,-1,'\downarrow y2=cos(2*x)');
text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');
%(2)
x=linspace(-2*pi,2*pi,100);
y1=x.^2;
y2=cos(2*x);
y3=y1.*y2;
subplot(1,3,1);%分区
plot(x,y1);
title('y1=x^2');%设置标题
subplot(1,3,2);
plot(x,y2);
title('y2=cos(2*x)');
subplot(1,3,3);
plot(x,y3);
title('y3=x^2*cos(2*x)');
%(3)
x=linspace(-2*pi,2*pi,20);
y1=x.^2;
subplot(2,2,1);%分区
bar(x,y1);
title('y1=x^2的条形图');%设置标题
subplot(2,2,2);
stairs(x,y1);
title('y1=x^2的阶梯图');
subplot(2,2,3);
stem(x,y1);
title('y1=x^2的杆图');
subplot(2,2,4);
fill(x,y1,'r');%如果少了'r'则会出错
title('y1=x^2的填充图');
%其他的函数照样做。
%第三题
x=-5:0.01:5;
y=[];%起始设y为空向量
for x0=x
if x0<=0 %不能写成x0=<0
y=[y,(x0+sqrt(pi))/exp(2)]; %将x对应的函数值放到y中
else
y=[y,0.5*log(x0+sqrt(1+x0^2))];
end
end
plot(x,y)
%第四题:
a=input('a=');
b=input('b=');
n=input('n=');
t=-2*pi:0.01:2*pi;
r=a*sin(b+n*t);
polar(t,r)
%第五题
x=linspace(-5,5,21);
y=linspace(0,10,31);
[x,y]=meshgrid(x,y);%在[-5,5]*[0,10]的范围内生成网格坐标
z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);
subplot(2,1,1);
surf(x,y,z);
subplot(2,1,2);
contour3(x,y,z,50);%其中50为高度的等级数,越大越密
%第六题
ezsurf('cos(s)*cos(t)','cos(s)*sin(t)','sin(s)',[0,0.5*pi,0,1.5*pi]); %利用ezsurf隐函数
shading interp %进行插值着色处理
%实验七 低层绘图操作
%第一题
h=figure('MenuBar','figure','color','r','WindowButtonDownFcn','disp(''Left Button Pressed'')')
%第二题
x=-2:0.01:2;
y=x.^2.*exp(2*x);
h=line(x,y);
set(h,'color','r','linestyle',':','linewidth',2)
text(1,exp(2),'y=x^2*exp(2*x)')
%第三题
t=0:0.00001:0.001;
[t,x]=meshgrid(t);
v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi);
axes('view',[-37.5,30]);
h=surface(t,x,v);
title('v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi)');
xlabel(Ct'),ylabel('x'),zlabel('v')
%第四题
x=0:0.01:2*pi;
y1=sin(x);
y2=cos(x);
y3=tan(x);
y4=cot(x);
subplot(2,2,1);
plot(x,y1);
subplot(2,2,2);
plot(x,y2);
subplot(2,2,3);
plot(x,y3);
subplot(2,2,4);
plot(x,y4);
%第五题
cylinder(5);
light('Position',[0,1,1]);
material shiny
%实验八 数据处理与多项式运算
%第一题
%(1)
A=rand(1,30000);
b=mean(A)
std(A,0,2)
%(2)
max(A)
min(A)
%(3)
n=0;
for i=1:30000
if A(i)>0.5
n=n+1;
end
end
p=n/30000
%第二题
%(1)
A=45+51*rand(100,5);
[Y,U]=max(A)
[a,b]=min(A)
%(2)
m=mean(A)
s=std(A)
%(3)
sum(A,2)
[Y,U]=max(ans)
[a,b]=min(ans)
%(4)
[zcj,xsxh]=sort(ans)
%第三题
h=6:2:18;
x=6.5:2:17.5;
t1=[18,20,22,25,30,28,24];
t2=[15,19,24,28,34,32,30];
T1=spline(h,t1,x)
T2=spline(h,t2,x)
%第四题
x=1:0.1:101;
y1=log10(x);
p=polyfit(x,y1,5)
y2=polyval(p,x);
plot(x,y1,':',x,y2,'-')
%第五题
%(1)
p1=[1,2,4,0,5];
p2=[1,2];
p3=[1,2,3];
p=p1+[0,conv(p2,p3)] %为使两向量大小相同,所以补0
%(2)
A=roots(p)
%(3)
A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];
polyval(p,A)
%(4)
polyvalm(p,A)
%实验十五 综合实验
%第一题
%定义函数文件
function zp=fs(z,n)
zp=0;
z=0;
for k=1:n;
z=1+imag(z)-1.4*real(z)^2+i*real(z)*0.3;
zp=[zp,z];
end
%在主窗口调用该函数:
n=30000;
z=0;
zp=fs(z,n);
plot(zp,'p','markersize',2,'color','r')
%第二题
quad('1/sqrt(2*pi)*exp(-x.*x/2)',0,1)
syms x
int(1/sqrt(2*pi)*exp(-x.*x/2),0,1)
%第三题
%定义函数文件
function dx=apollo(t,x)
mu=1/82.45;
mustar=1-mu;
r1=sqrt((x(1)+mu)^2+x(3)^2);
r2=sqrt((x(1)-mustar)^2+x(3)^2);
dx=[x(2);2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3;
x(4);-2*x(2)+x(3)-mustar*x(3)/r1^3-mu*x(3)/r2^3];
%在主窗口调用该函数:
x0=[1.2;0;0;-1.04935751];
options=odeset('reltol',1e-8);
%该命令的另一种写法是options=odeset;options.reltol=1e-8;
[t,y]=ode45(@apollo,[0,20],x0,options);
plot(y(:,1),y(:,3))%绘制x和y图像,也就是卫星的轨迹
title('Appollo卫星运动轨迹')
xlabel('X')
ylabel('Y')
%第四题
%这是一个力矩平衡问题,可列方程:500×1.5×cosα=400×2.0×cos(π/3-α)
%解得α=26.8021°。
%程序一:迭代法解方程
x1=input('x1=?');
x=pi/3.0-acos(15.0*cos(x1)/16);
while abs(x-x1)>=10e-8
x1=x;
x=pi/3.0-acos(15.0*cos(x1)/16);
if x>pi/3.0
disp('error');
end
end
y=x1*180/pi
%程序二:利用绘图功能
%分别绘制两个小孩所产生力矩随α变化的曲线,两曲线的交点即是跷跷板平衡时的α
alpha=linspace(0,pi/2,80000);
m1=500*1.5*cos(alpha); %第一个小孩产生的力矩
m2=400*2*cos(pi/3-alpha); %第二个小孩产生的力矩
k=find(abs(m1-m2)<1e-2); %找平衡点
alpha0=alpha(k);
m0=500*1.5*cos(alpha0);
plot(alpha,m1,alpha,m2,alpha0,m0,'kp');
alpha=alpha0*180/pi %化为角度
%第五题
clear; close;
fplot('18-t^(2/3)',[0,20]);grid on;hold on;
fplot('5+t+2*t^(2/3)',[0,20],'r');hold off;
%发现t约为4
[t,f,h]=fsolve('18-x^(2/3)-5-x-2*x^(2/3)',4)
%求得t=4.6465
t=linspace(0,t,100); y=18-t.^(2/3)-5-t-2*t.^(2/3);
trapz(t,y)-20
%最大利润6.3232(百万元)
⑶ 初学者学习MATLAB用什么书比较好啊
我用的matlab实用教程,这本学着重把matlab和大学里学的一些数学知识串起来了,本人感觉比较好用哈。内外你可以去网络文库或都matlab中文论坛下载相关的PPT,那样更加概括。书本一般比较全面,但是概括性不强。
⑷ 谁有MATLAB实用教程
Matlab-2018a软件+教程网络网盘免费资源在线学习
链接: https://pan..com/s/1GbXCK-5bfGG2Abvv34fR6g
Matlab-2018a软件+教程 内容截图展示 64位电脑建议下这个 32位电脑只能下这个 matlab 2014a(支持32位、64位).zip
2014A安装教程.mp4 Matlab-2018a破解版安装包.zip
3.png 2.png 1.png
⑸ 推荐一下matlab相关书籍
这个网站的东西不少。
http://mcm.ustc.e.cn/download.htm
数学建模讲义
清华大学数模讲义(姜启源) 浙江大学数模讲义(刘利刚)
人口模型讲义(中科大 ,zizi) 神经网络等模型讲义(中科大,zizi)
QuickPass系统排队问题 (中科大,谢瑶) 国防科技大学数模讲义
西点军校军事数学建模 纽约大学数学建模课笔记
优化模型与Lindo/Lingo优化软件(清华,谢金星)
数学建模书籍
工科数学基地建设丛书-数学建模优秀案例选编 数学建模(修订本)
数学建模——方法与范例 数学建模竞赛教程
数学建模与数学实验 数学模型
数学模型(第二版) 数学模型2
数学模型3 数学模型基础
数学模型建模分析 数学建模实用教程
英文论文写作讲义
Ohio University 的数学英文写作指导
数学工具资料
Matlab
综合
Matlab5.3精要、编程及高级应用 Matlab6.0数学手册
Matlab5.0语言与程序设计 Matlab5手册
精通Matlab综合辅导与指南 Matlab语法与绘图
Matlab资源教程 精通和掌握Matlab
Matlab详细手册 用Maple和Matlab解决科学计算问题
精通Matlab6.5 Matlab作图
Matlab实用教程 Matlab工具箱总汇
Matlab微分方程的解法 Matlab编程(英文影印版,第二版)
Matlab编程风格指南 Matlab讲座
神经网络工具箱
Matlab神经网络工具箱函数 Matlab神经网络工具箱应用简介
图象处理
Matlab6.0图形图像处理函数 利用Matlab实现图像处理
MATLAB6.x图像处理
数字信号处理
Matlab下的数字信号处理示例 数字信号处理及其Matlab实现
优化工具箱
MATLAB6.5辅助优化计算与设计 Matlab处理优化问题
符号计算工具箱
Matlab符号计算工具箱应用简介
模糊数学工具箱
Matlab模糊逻辑工具箱函数
偏微分方程工具箱
Matlab偏微分方程工具箱应用简介
数理统计工具箱
Matlab数理统计工具箱应用简介
小波算法工具箱
MATLAB6.5辅助小波分析与应用
仿真工具箱
Matlab仿真命令集
Mathematica
Mathematica教程
Maple
Maple教程 Maple6实例教程
用Maple5学习线性代数 Maple5实例教程
SAS
SAS V8基础教程 SAS教程
SAS6.12教程 SAS TUTOR简介
SPSS
SPSS操作 SPSS基本统计分析
SPSS均值比较与检验 SPSS方差分析
SPSS相关分析 SPSS回归分析
SPSS非参数检验 SPSS主成分分析与因子分析
SPSS聚类分析与判别分析
S-Plus
S-Plus使用简介
Lindo,Lingo
用Lindo解运筹学问题 Lindo软件包介绍
Origin
Origin6.0实例教程
Latex
Latex使用手册
数学建模程序
神经网络Matlab程序(2001年北大B题)
⑹ 学matlab用哪本书比较好
最近一直在使用matlab,也是刚刚上手学习,有两本书感觉还不错:
1、MATLAB编程(第二版)-菜鸟入门教材,Stephen J. Chapman着,邢树军 郑碧波译 。
这本书感觉还不错,简单易懂,内容精炼。
2、MATLAB GUI设计学习手记第二版
这本书是用matlab比较早的同学推荐的,内容比较全面,可以当做工具书使用。
⑺ 求 《金融数量分析:基于MATLAB编程(第2版) 》
A = [22 10 1 18 3];
max_A =最大值(A);
“http://..com/api/getdecpicpicenc=d236796f755f314206”>种“http://..com/api/getdecpicpicenc=d23666616e675f314206 “>
A = [22 10 1 18 3];
M =长度(A);
B = 0;
对于i = 1:M
如果A(I)>乙
B = A(i)条;
B =;
对于i = 1:M
ERR(I)= B(I);
err_min = B;
对于i = 1:M
若ERR(I)= 0
如果err_min <ERR(I)
err_min = err_min;
err_min = ERR(I);
err_min = B;
B_1 = B-err_min;
⑻ MATLAB程序设计教程(第2版)刘卫国主编,中国水利水电出版社的。
已发送,满意请采纳!