在matlab中,如何编写一段程序如下要求的程序:

在matlab中,如何编写一段程序如下要求的程序:,第1张

void __fastcall TForm1::Button1Click(TObject Sender)

{

TList L;

int N[7];

long T=time(0);

int iIndex;

T=T % 1000000;

L=new TList();

try

{

Label8->Caption="00";

Label9->Caption="00";

Label10->Caption="00";

Label11->Caption="00";

Label12->Caption="00";

Label13->Caption="00";

Label14->Caption="00";

Application->ProcessMessages();

iIndex=0;

for (int i = 0; i < 47; i++) {

L->Add((void )(i+1));

//Memo1->Lines->Add(i+1);

}

for (int m = 0; m <= 6; m++) {

for (int i = 0; i <= T; i++) {

random(time(0));

int j=rand();

int k=j % L->Count;

int iTmp=(int)L->Items[0];

L->Items[0]=L->Items[k];

L->Items[k]=(void )iTmp;

}

//Memo1->Lines->Add("-----------------------------");

//for (int i = 0; i <= L->Count-1; i++) {

// Memo1->Lines->Add((int)L->Items[i]);

//}

random(time(0));

int j=rand();

j=j%L->Count;

N[m]=(int)L->Items[j];

L->Delete(j);

AnsiString s;

switch (m) {

case 0:{

ssprintf("%22d",N[0]);

Label8->Caption=s;

Application->ProcessMessages();

Sleep(10);

break;

}

case 1:{

ssprintf("%22d",N[1]);

Label9->Caption=s;

Application->ProcessMessages();

Sleep(10);

break;

}

case 2:{

ssprintf("%22d",N[2]);

Label10->Caption=s;

Application->ProcessMessages();

Sleep(10);

break;

}

case 3:{

ssprintf("%22d",N[3]);

Label11->Caption=s;

Application->ProcessMessages();

Sleep(10);

break;

}

case 4:{

ssprintf("%22d",N[4]);

Label12->Caption=s;

Application->ProcessMessages();

Sleep(10);

break;

}

case 5:{

ssprintf("%22d",N[5]);

Label13->Caption=s;

Application->ProcessMessages();

Sleep(10);

break;

}

case 6:{

ssprintf("%22d",N[6]);

Label14->Caption=s;

Application->ProcessMessages();

Sleep(10);

break;

}

default:

;

}

}

//ssprintf("%22d-%22d-%22d-%22d-%22d-%22d-%22d",N[0],N[1],N[2],N[3],N[4],N[5],N[6]);

//Edit1->Text=s;

}

__finally

{

L->Free();

}

}

% t4m参考程序(考虑了多人最高、最低等情况):

% 请看懂!!!能编最好!

function t4()

clc

%---------start 初始化---------------

row=input('输入学生人数:');

col=input('输入课程数目:');

score=fix(rand(row,col)49)+49;

xh0=1:row;

kch0=1:col;

for ii=1:row

zcj_pre(ii)=sum_(score(ii,:));

end

disp('原始成绩表<第一列为学号、中间依次为各科成绩、最后一列为学生总成绩>:')

disp([xh0' score zcj_pre']);

%---------end 初始化--------------------

% 调用tongji1

[c_max,index_max,c_min,index_min,c_ave]=tongji1(score);

disp('平均分统计:')

fprintf(' 课程 平均\n');

% 按以上格式输出

disp([kch0',round(c_ave)']);

disp('课程最高分统计:')

fprintf(' 课程 最高 学号\n');

for jj=1:col

fprintf(' %d %d ',kch0(jj),c_max(jj))

for kk=1:length(index_max{jj})

fprintf('%d ',index_max{jj}(kk));

end

fprintf('\n');

end

disp('课程最低分统计:')

fprintf(' 课程 最低 学号\n');

% 按以上格式输出

for jj=1:col

fprintf(' %d %d ',kch0(jj),c_min(jj))

for kk=1:length(index_min{jj})

fprintf('%d ',index_min{jj}(kk));

end

fprintf('\n');

end

% 调用tongji23

[s_max,index_max,s_min,index_min,px]=tongji23(score);

disp('学生总成绩最高分统计:')

fprintf('最高总分 学号\n');

% 按以上格式输出

fprintf('%d ',s_max);

disp(index_max);

disp('学生总成绩最低分统计:')

fprintf('最低总分 学号\n');

% 按以上格式输出

fprintf('%d ',s_min);

disp(index_min);

disp('--------------------------------');

fprintf('总成绩排降序:\n');

fprintf('总成绩 学号\n');

% 按以上格式输出

disp(px);

% 存入zcj

zcj=px(:,1);%zcj在主函数空间

% 存入xh

xh=px(:,2);%xh也在主函数空间

function [c_max,index_max,c_min,index_min,c_ave]=tongji1(score)

% c_max课程最高分col1向量

% index_max课程最高分对应学号col1元胞

% c_min课程最低分col1向量

% index_min课程最低分对应学号col1元胞

% c_ave课程平均成绩col1向量

[row,col]=size(score);

for jj=1:col

[c_max(jj),index_max{jj}]=max_(score(:,jj));

[c_min(jj),index_min{jj}]=min_(score(:,jj));

c_ave(jj)=ave_(score(:,jj));

end

function [s_max,index_max,s_min,index_min,px]=tongji23(score)

% s_max col门课程总成绩最高分

% index_max col门课程总成绩最高分对应学号

% s_min col门课程总成绩最低分

% index_min col门课程总成绩最低分对应学号

% px 排降序后的矩阵row2 [col门课程总成绩 学号]

[row,col]=size(score);

for ii=1:row

zcj(ii)=sum_(score(ii,:));

end

[s_max,index_max]=max_(zcj);

[s_min,index_min]=min_(zcj);

px=sort_down(zcj);

function y=sum_(x)%自编求和函数,x为向量

y=0;

for ii=1:length(x)

y=y+x(ii);

end

function y=ave_(x)%自编求平均值函数,x为向量

y=sum_(x)/length(x);

function [x_max,index]=max_(x)%自定义函数

% x_max:向量x中的最大值

% index:向量x中的最大值对应的下标向量(有可能多个)

index=[];

x_max=x(1);

for ii=1:length(x)

if x(ii)>=x_max

x_max=x(ii);

end

end

for ii=1:length(x)

if x(ii)==x_max

index=[index,ii];

end

end

function [x_min,index]=min_(x)%自定义函数

% x_min:向量x中的最小值

% index:向量x中的最小值对应的下标向量(有可能多个)

index=[];

x_min=x(1);

for ii=1:length(x)

if x(ii)<=x_min

x_min=x(ii);

end

end

for ii=1:length(x)

if x(ii)==x_min

index=[index,ii];

end

end

function px=sort_down(x)

% px=[y_down index]

% y_down:x排降序

% index:x排序后的行标序列

[row,col]=size(x);

if row==1&&col~=1%保证x为列向量

x=x';

end

row=length(x);

index=1:row;

px=[x,index'];%构成排序前px

%采用选择排序2:

for ii=1:row-1

kk=ii;

for jj=ii+1:row

if px(jj,1)>px(kk,1)

kk=jj;

end

end

if kk~=ii

temp=px(kk,:);

px(kk,:)=px(ii,:);

px(ii,:)=temp;

end

end

用数组来表示这一组未知数啊

T(1)=1;%T1的赋值

T(2)=2;%T2的赋值

T(100)=100;%T100的赋值

调用Ti的数值时就写T(i)就好了,如果你这100个数是有规律的,比如是从1到100之间的整数,可以这么写

T=[1:1:100];

希望能帮助到你!

matlab 程序的文件代码是以m文件的形式呈现的。将matlab代码编写进m文件内然后运行即可。

例子:

建立一个 helloworldm

文件内包括内容如下:

fprintf('Hello World!');

使用快捷键F5直接运行,然后可以在控制台下看到打印的:

Hello World!

基本解答如下:

(1-1):

function [b,y] = by(m,n)

b=lcm(m,n);%最小公倍数

y=gcd(m,n);%最大公约数

end

(1-2):

function t=sushu(n)

m=floor(sqrt(n));

for i=2:m

if mod(n,i)==0

t=0;

break;

else

t=1;

end

end

end

(2):可以一次算出每一项,发现他们都是同一个值,这个值的求法:SUM=sum(1:n^2)/n;%n阶魔幻阵特有的和

function [A,H,L,DJ,SUM]=mag(n)

A=magic(n);%产生一个n阶魔幻阵

H=sum(A);%每行的和

L=sum(A);%每列的和

DJ=sum(diag(A));%对角线和

SUM=sum(1:n^2)/n;%n阶魔幻阵特有的和

end

(3):这题我给出“该数各位数字之和为奇数”的求法,结合上面有判断素数的代码自己可以求出

该数各位数字之和为奇数:

function funct

for i=2:999

%l=floor(log10(i))+1; %提取位数

n1=floor(i/100); %取出百位数字n1

n2=mod(floor(i/10),10); %取出十位数字n2

n3=mod(i,10) ; %取出个位数字n3

nsum=n1+n2+n3;

if rem(nsum,2)~=0%判断是否为奇数

disp (i);

end

end

end

自己可以调试看看,祝你成功!

以上就是关于在matlab中,如何编写一段程序如下要求的程序:全部的内容,包括:在matlab中,如何编写一段程序如下要求的程序:、用matlab写一个小程序、Matlab程序编写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存