matlab程序画图

matlab程序画图,第1张

是这样的,如果你再程序开始添加holdon这个的画,表示这之后的每一次作图都保留以前的图,这样就可以连续画图了

反之holdoff,表示打开这个之后,每次画图,删除以前的图,

以下是一个使用MATLAB编写的程序,可以计算1-1000的立方和:

n = 1000; % 设置上限

% 计算立方和

sum = 0;

for i = 1:n

sum = sum + i^3;

end

% 输出结果

disp(sum);

首先定义了上限值n为1000,然后使用for循环来计算1到n的立方和。具体地,在每次循环中,将当前数字的立方加入到 sum 变量中。

最后,使用disp()函数将计算结果输出到命令窗口中。

在计算大量数据时,程序可能需要较长的运行时间和大量的内存空间。如果需要对更大范围的数进行求和,可能需要对代码进行优化或采用更高效的算法。

只会一个哦

3

t=0:pi/20:2pi;

x=2cos(t);

y=3sin(t);

plot(x,y)

axis equal

grid

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [d,r1]=floyd1(vx,vy)

b=inf;

a=[0 2 8 1 b b b b

2 0 6 b 1 b b b

8 6 0 7 5 1 2 b

1 b 7 0 b b 9 b

b 1 5 b 0 3 b 8

b b 1 b 3 0 4 6

b b 2 9 b 4 0 3

b b b b 8 6 3 0 ];

d=a;

vx=vx+1;

vy=vy+1;

global r;

r=a;

for i=1:8

for j=1:8

d(i,j)=a(i,j);

r(i,j)=j;

k=1;

end

end

for k=1:8

for i=1:8

for j=1:8

if d(i,k)+d(k,j)<d(i,j)

d(i,j)=d(i,k)+d(k,j);

r(i,j)=k;

end

end

end

end

r1=r-1;

fun3(vx,vy);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function fun3(vx,vy)

global r

t=r(vx,vy);

if vy==t

return

else

fun3(vx,t);

disp(t-1);

fun3(t,vy);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

返回matlab 输入:

[d,r1]=floyd1(1,3) %这里我也不知道什么意思。但是能运行就是了。

主文件: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函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

九宫阵的解法

读书时,饭间看青年报,上面每期都有99的九宫阵心血来潮,编写了matlab程序,将之求解完毕

输入数据为99的数组

思路是,首先根据规则,确定每个方格中可能值,首先确定唯一可能值,进行试探时,也选取可能性小的那个方格进行处理走不通时,退栈,更新数值,重新试探

程序源代码如下:(很多有些记不清楚了)

function [JGTNData]=JGZ()

clear;

JGZ=zeros(9,9);

AllData(1:9)=3;

JGTData=zeros(9,9,11);

for i=1:9

for j=1:9

for k=1:9

JGTData(i,j,k)=k;

end

JGTData(i,j,10)=9;

JGTData(i,j,11)=0;

end

end

% Inputdata=[1,1,6;1,2,9;1,4,2;1,8,3;2,1,7;2,3,5;2,4,8;2,8,2;3,2,3;3,3,2;3,4,5;3,8,8;4,1,2;4,3,4;4,9,5;5,2,6;5,5,9;5,9,3;6,6,2;6,8,7;7,1,5;7,2,4;7,5,7;8,3,9;8,5,2;8,9,1;9,4,9;9,7,8] ;

%Inputdata=[1,1,8;1,4,1;1,5,4;1,7,7;2,1,7;2,6,8;2,8,1;2,9,6;3,4,6;3,5,9;3,8,8;3,9,3;4,2,5;4,5,2;5,1,3;6,3,8;6,6,4;6,8,6;6,9,5;7,3,5;7,9,2;8,1,4;9,2,2;9,4,9;9,5,1;9,7,8];

%Inputdata=[1,3,6;1,5,2;1,7,7;1,8,8;2,2,1;2,4,9;2,6,7;2,9,6;3,6,6;3,7,3;4,2,9;4,4,8;5,3,4;5,5,6;5,8,2;6,1,2;6,6,1;6,7,8;6,8,9;7,3,3;7,8,5;8,2,4;8,4,2;8,9,8;9,1,1;9,4,6;9,6,5;9,7,4];

% Inputdata=[1,1,6;1,4,8;2,1,5;2,8,2;3,6,5;3,7,1;4,1,3;4,6,2;4,8,8;4,9,7;5,3,2;5,4,7;5,7,3;5,9,9;6,2,4;6,5,3;6,9,6;7,1,7;7,4,4;7,5,9;7,7,6;8,2,6;8,5,5;8,6,8;8,8,7;9,3,5;9,5,1;9,9,4];

Inputdata=[1,1,6;1,4,8;2,1,5;2,8,2;3,6,5;3,7,1;4,1,3;4,6,2;4,8,8;4,9,7;5,3,2;5,4,7;5,7,3;5,9,9;6,2,4;6,5,3;6,9,6;7,1,7;7,4,4;7,5,9;7,7,6;8,2,6;8,5,5;8,6,8;8,8,7;9,3,5;9,5,1;9,9,4];

xsize=size(Inputdata);

for i=1:xsize(1)

tempi=Inputdata(i,1);

tempj=Inputdata(i,2);

JGZ(tempi,tempj)=Inputdata(i,3);

AllData(JGZ(tempi,tempj))=AllData(JGZ(tempi,tempj))-1;

JGTData(tempi,tempj,1:9)=0;

JGTData(tempi,tempj,JGZ(tempi,tempj))=JGZ(tempi,tempj);

JGTData(tempi,tempj,10)=1;

JGTData(tempi,tempj,11)=JGZ(tempi,tempj);

end

JGZ;

JGTData;

[JGZ1,JGTData1]=PDDJGT(JGZ,JGTData);

JGZ=JGZ1;

JGTData=JGTData1;

%%%%%%%%%%判断是否有可以确定的数

for i=1:9

for j=1:9

if JGTData(i,j,10)==1 & JGTData(i,j,11)==0%可以确定

JGZ(i,j)=max(JGTData(i,j,1:9));

JGTData(i,j,11)=JGZ(i,j);

end

end

end

JGZ;

JGTData(:,:,10);

%%%%%%%%

JGTPD=zeros(9,9);

while max(max(JGTPD~=JGTData(:,:,10)))

JGTPD=JGTData(:,:,10);

%%%%%%%%%%%第二次

[JGZ1,JGTData1]=PDDJGT(JGZ,JGTData);

JGZ=JGZ1;

JGTData=JGTData1;

%%%%%%%%%%判断是否有可以确定的数

for i=1:9

for j=1:9

if JGTData(i,j,10)==1 & JGTData(i,j,11)==0%可以确定

if max(JGTData(i,j,1:9))>0 %有错

JGZ(i,j)=max(JGTData(i,j,1:9));

JGTData(i,j,11)=JGZ(i,j);

end

end

end

end

JGZ;

JGTData(:,:,10);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%加入一个试探值

NTData=1;

ForT=0;

TFT=0;%有无错

%xsize=find(JGTPD==2);

%xsize=xsize(1);

%while xsize

while NTData>=1 & ForT==0

NTData=1;

JGTN=1;

JGTNData(JGTN,:,:)=zeros(9,9);

while max(max(JGTPD~=ones(9,9))) & TFT==0

while max(max(JGTPD~=ones(9,9))) & TFT==0

xsize=find(JGTPD==2);

if xsize~=[]

xsize=xsize(1);

tempi=mod(xsize,9);

if tempi==0

tempi=9;

tempj=floor(xsize/9);

else

tempj=floor(xsize/9)+1;

end

tempsize=find(JGTData(tempi,tempj,1:9)>0);

TData(NTData,1:4)=[tempi,tempj,(JGTData(tempi,tempj,tempsize(1))),(JGTData(tempi,tempj,tempsize(2)))];%加入值同时保留另外一个值

TAData(NTData,1:9,1:9,1:11)=JGTData;

TAJGZ(NTData,1:9,1:9)=JGZ;

JGZ(tempi,tempj)=TData(NTData,3);

JGTData(tempi,tempj,1:9)=0;

JGTData(tempi,tempj,JGZ(tempi,tempj))=JGZ(tempi,tempj);

JGTData(tempi,tempj,10)=1;

JGTData(tempi,tempj,11)=JGZ(tempi,tempj);

NTData=NTData+1;

TFT=0;

%%%%%%%%%%%%%重新判断

JGTPD=zeros(9,9);

while max(max(JGTPD~=JGTData(:,:,10)))

JGTPD=JGTData(:,:,10);

%%%%%%%%%%%第二次

[JGZ1,JGTData1]=PDDJGT(JGZ,JGTData);

JGZ=JGZ1;

JGTData=JGTData1;

%%%%%%%%%%判断是否有可以确定的数

for i=1:9

for j=1:9

if JGTData(i,j,10)==1 & JGTData(i,j,11)==0%可以确定

if max(JGTData(i,j,1:9))>0 %有错

JGZ(i,j)=max(JGTData(i,j,1:9));

JGTData(i,j,11)=JGZ(i,j);

else

TFT=1;%有错

end

end

end

end

JGZ;

JGTData(:,:,10);

end%%%while

if min(min(JGTPD))==0

TFT=1;

end

else%%%%%%%%%%%无法填写

TFT=1;%有错

end

end%%%%%while

if TFT==1 %%因为有错退出

if NTData>0

NTData=NTData-1;

tempi=TData(NTData,1);

tempj=TData(NTData,2);

for i=1:9

for j=1:9

JGTData(i,j,1:11)=TAData(NTData,i,j,1:11);

JGZ(i,j)=TAJGZ(NTData,i,j);

end

end

% JGTData=TAData(NTData,1:9,1:9,1:11);

JGZ(tempi,tempj)=TData(NTData,4);

JGTData(tempi,tempj,1:9)=0;

JGTData(tempi,tempj,JGZ(tempi,tempj))=JGZ(tempi,tempj);

JGTData(tempi,tempj,10)=1;

JGTData(tempi,tempj,11)=JGZ(tempi,tempj);

JGTPD=JGTData(:,:,10);

TFT=0;

else

JGTPD=ones(9,9);

end%%if

end%%%if

end%%%while

JGTNData(JGTN,:,:)=JGZ;

JGTN=JGTN+1;

if TFT==1 %%因为有错退出

if NTData>1

NTData=NTData-1;

tempi=TData(NTData,1);

tempj=TData(NTData,2);

for i=1:9

for j=1:9

JGTData(i,j,1:11)=TAData(NTData,i,j,1:11);

JGZ(i,j)=TAJGZ(NTData,i,j);

end

end

% JGTData=TAData(NTData,1:9,1:9,1:11);

JGZ(tempi,tempj)=TData(NTData,4);

JGTData(tempi,tempj,1:9)=0;

JGTData(tempi,tempj,JGZ(tempi,tempj))=JGZ(tempi,tempj);

JGTData(tempi,tempj,10)=1;

JGTData(tempi,tempj,11)=JGZ(tempi,tempj);

JGTPD=JGTData(:,:,10);

TFT=0;

else

JGTPD=ones(9,9);

ForT=1;

end%%if

end%%%if

JGTPD=zeros(9,9);

NTData;

JGZ;

end%%while NData==0

function [JGZ2,JGTData2]=PDDJGT(JGZ1,JGTData1)

%%%%%%%%%%%%%%%%%%%%%判断横

for i=1:9

for j=1:9

if JGZ1(i,j)>0 %有数据,清除其他中这个数据

for k=1:9%横

if j~=k

if JGTData1(i,k,JGZ1(i,j))>0

JGTData1(i,k,JGZ1(i,j))=0;

JGTData1(i,k,10)=JGTData1(i,k,10)-1;

end

end

end

for k=1:9%列

if i~=k

if JGTData1(k,j,JGZ1(i,j))>0

JGTData1(k,j,JGZ1(i,j))=0;

JGTData1(k,j,10)=JGTData1(k,j,10)-1;

end

end

end

%%%%%%%%%%%%%%%%%%%%小格

for i1=(ceil(i/3)-1)3+1:(ceil(i/3)-1)3+3

for j1=(ceil(j/3)-1)3+1:(ceil(j/3)-1)3+3

if i1~=i & j1~=j

if JGTData1(i1,j1,JGZ1(i,j))>0

JGTData1(i1,j1,JGZ1(i,j))=0;

JGTData1(i1,j1,10)=JGTData1(i1,j1,10)-1;

end

end

end

end

end

end

end

JGTData2=JGTData1;

JGZ2=JGZ1;

end

以上就是关于matlab程序画图全部的内容,包括:matlab程序画图、用MATLAB+计算1-1000立方和的程序、急求:MATLAB设计的几道程序~!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10058996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存