永发信息网

matlab一问题,高手进 编写M脚本文件,将某班学生某门课程的成绩。。。

答案:5  悬赏:0  手机版
解决时间 2021-03-29 10:40
matlab一问题,高手进 编写M脚本文件,将某班学生某门课程的成绩。。。
最佳答案
比如:脚本a=4
函数function a=f(s)
a=s^2;
运行这两个m文件,脚本就建立了一个a变量,而运行函数就不会出现a变量。
这是最简单和最根本的区别了。
全部回答
你有两个错误,首先你这个文件没有定义成一个m文件,第二,函数change1返回值z1没有定义,改了一下就没错了。
function不能写在script里面的,function前面可以有注释,但不可以有其他命令,如果有其他命令,matlab就会认为这个m文件是个脚本文件,而不是函数文件,因此会出错的,你要想写在一个m文件里面,就把你的脚本写成function,,比如在第一行加function caculation(不需要加输入输出);这样你的function z1=count1(xx)就变成了子函数,这样就不会报错了。
主程序:
clear;clc;close all
a=[60,75,85,97,52,36,86,56,94,84,77];
str={'优','良','中','及格','不及格'};
y1=mytabulent(a);
y2=myTrans(a);
fprintf('转化如下\n');
for i=1:length(a)
fprintf('%d-----%s\n',a(i),y2{i});
end
fprintf('统计如下\n');
for i=1:length(y1)
fprintf('%s的人数是%d\n',str{i},y1(i));
end
转化的程序 myTrans.m
function y=myTrans(x)
y=cell(length(x),1);
for i=1:length(x)
if x(i)>=90
y{i}='优';
elseif x(i)>=80
y{i}='良';
elseif x(i)>=70
y{i}='中';
elseif x(i)>=60
y{i}='及格';
else
y{i}='不及格';
end
end
统计的程序mytabulent.m
function y=mytabulent(x)
y(5,1)=0;
y(1)=length(find(x>=90));
y(2)=length(find(x<90 & x>=80));
y(3)=length(find(x<80 & x>=70));
y(4)=length(find(x<70 & x>=60));
y(5)=length(find(x<60));
count1是需要你自定义的一个函数。你定义这个count1之后MATLAB就不会报错了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
e*(-t*2)从cosx到1的定积分
1米-6分米=()分米?
我190斤怎么样健康减肥
汇森祥投资担保有限公司怎么去啊,有知道地址
华生牌净水机是哪里生产的!
“满载而归”是什么意思?
初中学历,32岁女,想学点技术东西,该学什么
刚激情完里面是湿的吗?
打8折优惠后,现价156元,求原价是多少
最近一个月,国际油价为什么那么暴躁?
玄什么张什么成语
恋恋秀场一站
佛教师父,我不小心跟着小说念了发誓的台词,
百官有高三毕业班补习班吗
怎么选择强光手电
推荐资讯
尼康d81o配那款镜头最佳搭档
土豪第一次坐飞机,空姐被整的哭笑不得是什么
不知道为什么我滴本本有时候会突然有广告的声
显卡AMD Radeon R7 M260简称R7260吗?
男主被定在了十字架上,女主身体被切成了两半
阿里巴巴好吗到底,好多人投了没用啊
当众被人侮辱,怎么反击合适
mcgs软件7.2有没有tpc1063e型号
7200秒除以60=多少分
奔驰GLC与沃尔沃XC60区别,终于知道奔驰为什
谁能仔细解释一下,这段话什么意思???~“
爱旅游的女孩一般什么性格啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?