%%
tic
for ii=1:2000
for jj=1:2000
A(ii,jj)=ii+jj;
end
end
toc
%%
tic
A=zeros(2000,2000);
for ii=1:size(A,1) %size(A,1)返回A的第一个维度的length(即矩阵的行数)
for jj=1:size(A,2) %size(A,2)返回A的第二个维度的length(即矩阵的列数)
A(ii,jj)=ii+jj;
end
end
toc
>> Class_3
>> 历时 0.015492 秒。
>> 历时 0.023336 秒。
(P15 exercise)
%目的:找到矩阵A中值为负的元素、将这些元素的位置存储在矩阵B中、
%改变这些元素的值为0
n=1;i=1;
A=[0 -1 4; 9 -14 25; -34 49 64];
for n=1:9
if A(n)<0
B(i)=n; i=i+1; A(n)=0;
end
end
>> Class_3
>> A
A =
0 0 4
9 0 25
0 49 64
>> B
B =
3 4 5
(P21 exercise)
%此练习有以下几点提示:
%1.输入为华氏度,输出为摄氏度。
%2.具有连续输入,持续运行程序的功能,且输入为Enter时结束脚本。
%3.以下示例包含Class_3_tempconv.m和temp_conv.m总共两个文件,运行脚本之前需要将两个文件放入同一个文件夹。
%temp_conv.m
function C_temp=temp_conv()
prompt='请输入华氏度,并在输入完成之后按下回车\n';
F_temp_temp=input(prompt); %得到输入温度值(华氏度)
F_temp=isempty(F_temp_temp);
if F_temp==1 %如果用户输入为回车,则输出为1
C_temp=1;
else %如果用户输入不为回车,则计算温度值(摄氏度)
C_temp=F_temp_temp-273;
num2str(C_temp); %num2str将数字转化为字符串
fprintf('得到的摄氏度为:%s\n',num2str(C_temp));
fprintf('*******************************************\n');
end
%Class_3_tempconv.m
for i=1:10 %如果输入为空,则不执行temp_conv函数;不为空则继续执行,最多可以连续输入10次
a=temp_conv();
if a==1
break
end
end