第五章练习
第五章练习
2011年09月15日
还是在开头声明一下,本章课本至完全看到测试5.1之前内容,没有多少问题也,后面的基本没看更没练
测试5.1
1. 脚本文件与函数的区别是什么?
MATLAB 函数是一种特殊形式的M 文件,它运行在独立的工作区。它通过输入参数列表接受输入数据,它通过输出参数列表返回结果给输出参数列表
2. 自定义函数的help 命令是如何工作的?
通过lookfor 命令H1能被搜索到并显示出来。从H1 注释行到第一个空行或第一个可执行性语句可以通过help 命令或帮助窗口搜索到。它们则应包含如何使用这个函数的简单总结。
3. 函数中的H1 注释行有什么重要性?
它是对本函数功能的总结。重要性在于,通过lookfor 命令它能被搜索到并显示出来
4. 什么是按值传递机制?它对结构化编程有什么好处。
当一个函数调用发生时,MATLAB 将会复制实参生成一个副本,然后把它们传递给函数。这次复制是非常重要的,因为它意味着虽然函数修改了输入参数,但它并没有影响到调用者的原值。这个特性防止了因函数修改变量而导致的意想不到的严重错误。
5. 如何使MATLAB 函数带有选择性参数。
MATLAB 函数可以有任意数量的参数,并且并不是每次函数调用时,每个输出参数都必须具备。nargin 函数用来确定函数被调用时实际提供了多少个参数,而nargout 函数用来确定函数被调用后实际上有多少个输出参数。
第6,7 题中,请你确定函数的调用是否正确。如果它是错误的,指出错误所在。
6.
out = test1(6);
function res = test1(x, y)
res = sqrt(x .^2 + y .^2);函数调用不正确。调用test1必须提供二个输入参数在这种情况下,变量y在test1中将没有定义,函数被忽略。
7. 正确
out = test2(12);
function res = test2(x, y)
error (nargchk(1,2,nargin));
if nargin == 2
res = sqrt(x .^2 + y .^2);
else
res = x;
end
5.9 练习
课本上选择排序法中指针的使用很美,very beautiful
function out = ssort(a)
nvals = size(a,2);
for ii = 1:nvals-1 %ii=1第一次遍历
iptr = ii; %指针指向第1个元素
for jj = ii+1:nvals %从第二个元素开始,分别和第一个比较,若小于第一个,指针指向那个小于的元素一直遍历到最后一个元素
if a(jj) < a(iptr)
iptr = jj;
end
end
if ii ~= iptr %如果指针指向的不是第一个元素,就把指针指向的元素和第一个互换位置
temp = a(ii);
a(ii) = a(iptr);
a(iptr) = temp;
end
end
% Pass data back to caller
out = a;
5.1
函数与脚本文件之间的区别是什么?同测试5.1.1 函数若输出参数多于一个,等号左边用[,],调用的时候也要这样完整来写,[,]=函数名(,,……)
书写函数时,函数体内,不用包含有关输出的信息诸如fprintf,disp等,因为在你调用时等号左边有输出变量等着赋值的,也就是在函数体里只要想办法把输出参数定义好就行。
5.2
当一个函数被调用,数据是是怎样从调用者传递到函数的。函数是怎样把结果返回给调用者?
atan2与atan的区别在于
前者是四象限的反正切也就是说值域【-180 180】
后者是一四象限的反正切也就是说值域在【-90 90】就是我们数学中常用的那个
用法嘛atan2(y,x) 有两个参数这个在实际工程应用很多
atan(z)只有一个参数举个例子atan(1)=45,但是向量(-1 ,1)与x 轴的夹角则不能使用atan(1/(-1))=-45了而应该使用atan2(1,-1)=135注意先写y坐标后写x坐标
5.3
在MATLAB 中应用按图传递机制的优点与缺点? 不清楚
5.4
修改本章中的选择性排序函数,让他能够接受第二个选择性参数。”up”或”down”。当参数为”up”时,数据按升序排列,当参数为”down”,
数据按降序排列。如果输入只有一个,我们默认按降序排列。
5.5
编写一个函数,利用函数random0 在[-1。0,1。0]产生一个随机数。使random0 函数成为你新的函数的子函数
5.6
编写一个函数,利用函数random0 在[low,high]产生一个随机数,其
中low,high 分别代表输入参数。把random0 函数成为你新函数的一个私有函数。
5.7
骰子模拟。模拟掷骰子的情况在现实中非常有用。编写一个maltab
程序模拟掷骰子,每次产生一个1 到6 之间随机整数。
5.8
道路交通密度。函数random0 将在[0.0, 1.0]产生一个等可能性随机数。如果随机事件结果是等可能性,这个函数适合模拟这类随机事件。但是,
很多事件的发生都不是等可能性的,那么这个函数不适合模拟这类情况。
例如,一交通工程师研究在一段时间隔t 内通过某一地点汽车数,发
请输入一个长度0和5之间的字符串现k 辆汽车通过一指定地点可能性为
(5.10)它的分布符合指数分布。指数分布在科研和工程上有很多的应用。例如,在时间t 内接打电话的次k,指定容器内的病毒k,以及复合系统
的出错次数k 都符合指数分布。编写一个函数,对任意k,t 和λ求指数分布。通过计算在1 分钟内通过高速路上指定一点1,2,3,4,5 辆汽车的概率。并画出相应的图象。已知λ为1.5。
5.9

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。