当前位置:首页 > Matlab及其信号处理应用期中题目
3.按下表建立一个4*3的异质数组,并试将此异质数组用结构数组表示。 张惠妹 周华健 王杰 孙燕姿 源程序:
%建立异质数组
A=cell(4,3);%预设一个4*3的空异质数组 %添加内容
A{1,1}='张惠妹'; A{2,1}='周华健';A{3,1}='王杰';A{4,1}='孙燕姿'; A{1,2}='听海';A{2,2}='花心';A{3,2}='一场游戏一场梦';A{4,2}='超快感'; A{1,3}=1998 ;A{2,3}=1992 ;A{3,3}=1988 ;A{4,3}=2000; %异质数组转为结构数组 fields={'singer','name','year'};
value ={'张惠妹', '听海', 1998; '周华健', '花心', 1992; '王杰', '一场游戏一场梦', 1988; '孙燕姿', '超快感',2000}; S=cell2struct(value,fields,2);
运行结果:
(1) cellplot(A)命令后:
听海 花心 一场游戏一场梦 超快感 1998 1992 1988 2000
(2) celldisp(A)命令后结果
(3)
isstruct(S)命令后结果:
4.编写一个函数求方程a?x2?b?x?c?0的根,要求讨论可能出现的几
种情况,使程序能够正确处理这些情况并输出正确结果。
源程序:
function y=rootFind(x)%x的参数从前到后分别是一元二次方程的系数(从高到低)
if(sum(size(x)==[1 3])~=2&&(size(x)==[3 1])~=2)%系数输入非法;
disp('非法输入,请输入x为1*3或3*1的矩阵'); return; end
a=x(1);b=x(2);c=x(3);%取方程系数
if(a~=0)%a不等于0是一元二次方程二次方程;
y(1)=(-b+sqrt(b^2-4*a*c))/(2*a);%求两根 y(2)=(-b-sqrt(b^2-4*a*c))/(2*a); return; else
if(b==0)%无一次项的二次方程 if(c==0)
disp('等式恒为0!'); return; else
disp('不成立!'); return; end
else%一次方程;
disp('一次方程!'); disp('解为 x='); disp(-c/b); return; end end 运行结果: 1.
共分享92篇相关文档