Q=2;
f=0;
for i=1:255
f=f+r(i)/(Q-r(i));
end
PS:matlab的矩阵编号是从1开始的。如果不对,你可以稍微修改一下
主文件:mainm
%made by Canlong
%%
%编写算法完成下面给余猜谜的游戏
%心里想好一个1~100之间的整数x,将它分别除以3,5,7并得到3个余数。把这三个余数输入计算机,计算机能马上猜出这个数。
%方法一:穷举法
disp('方法一:穷举法')
num1 = input('请输入第一个数:');
num2 = input('请输入第二个数:');
num3 = input('请输入第三个数:');
for i=1:100
if rem(i,3)==num1 && rem(i,5)==num2 && rem(i,7)==num3
fprintf('该数为:%d \n',i);
end
end
%%
%方法二,建模
disp('方法二,建模');
num1 = input('请输入第一个数:');
num2 = input('请输入第二个数:');
num3 = input('请输入第三个数:');
d=70num1+21num2+15num3;
while d>105
d = d-105 ;
end
fprintf('该数为:%d \n',d);
%%
%斐波那契数列的应用
%斐波那契数列有如下特点:a1,a2已知 a(n)=a(n-1)+a(n-2) n>=3
%例题:楼梯上有n阶台阶,上楼时可以一步上1阶,也可以一步上2阶,编写算法计算共有多少种不同的上楼梯方法
%楼梯阶数
n=10;
disp('如果楼梯阶数为10,上楼梯的方法数,解得:');
fprintf('f(%d)为:%d \n',n,f(n));
函数文件:fm
%输入n为阶梯数,a为返回的阶梯数
%made by Canlong
function a=f(n)
if n==1
a=1;
return;
end
if n==2
a=2;
return
else
a=f(n-1)+f(n-2);
return
end
end
扩展资料:
图形处理:
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等)。
MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
模块工具:
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。领域,诸如数据采集。
数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具。
非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
程序接口:
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。
另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
给出具体数值一次到位,你还得修改。
A=rand(1,2)
B=rand(1,2)
C=rand(1,2)
r1=rand(1,1),r2=rand(1,1),r3=rand(1,1)
t=0:pi/100:2pi;
x1=A(1)+r1cos(t);y1=A(2)+r1sin(t);
x2=B(1)+r2cos(t);y2=B(2)+r2sin(t);
x3=C(1)+r3cos(t);y3=C(2)+r3sin(t);
plot([x1 x2 x3],[y1 y2 y3],'')
axis equal
有啊,用zscore函数。
>> help zscore
ZSCORE Standardized z score
Z = ZSCORE(X) returns a centered, scaled version of X, the same size as X
For vector input X, Z is the vector of z-scores (X-MEAN(X)) / STD(X)
标准化的意思就是使平均值等于0,标准差等于1
例如:
>> A=magic(4)
>>B=zscore(A)
>>mu=sum(B)
>>sigma=std(B)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
B =
1377 -12509 -10585 082619
-064259 048113 028868 -0091799
0091799 -028868 -048113 064259
-082619 10585 12509 -1377
mu =
-11102e-016 0 0 22204e-016
sigma =
1 1 1 1
在M-file edit中:
function subfun(a,b)
x=a:001:b; %a,b为你所要的自变量取值范围
y=(x^3+5x-10)/6(x+5<0)+exp(x-1)(-5<=x<5)+log(7x+4)(x>=5);
plot(x,y)
保存后,在command window下输入
subfun(-10,10)就可以了……
分段函数都可以引入一个向量,自变量在某个范围内为1,否则为0,上述代码中的(x+5<0),(-5<=x<5),和(x>=5)就是了……
还要注意的是用"",而不是""
因为disp后面跟字符,a(i,j)是数值,不能直接接。
用num2str就可以了,修改后的程序及结果为:
>> a=[1,2,3;5,4,6;7,9,3;3,1,7];
for i=1:4
for j=1:3
a(i,j)=a(i,j)+1;
disp(['a(i,j)=',num2str(a(i,j))]);
end
end
a(i,j)=2
a(i,j)=3
a(i,j)=4
a(i,j)=6
a(i,j)=5
a(i,j)=7
a(i,j)=8
a(i,j)=10
a(i,j)=4
a(i,j)=4
a(i,j)=2
a(i,j)=8
以上就是关于求关于matlab的小程序全部的内容,包括:求关于matlab的小程序、斐波那契数列 matlab程序、想用matlab编个简单的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)