看看网上有哪些例程!看后就会感到和算法工匠提供的课程的差距了哦!(纯属自夸!)
用起泡法对10个数由小到大排序。即将相邻两个数比较,将小的调到前头。
function f = func_sort(x)
i = 1;
while i<=10
j = i+1;
while j <=10
if x(i)>x(j)
temp = x(i);
x(i) = x(j);
x(j) = temp;
end
j = j + 1;
end
i = i + 1;
end
f = x;
end
写的非常不规范!怎么修改?首先要都懂程序,然后规范变量,再者就是补全功能。函数首先要检测输入数组的长度!!!
有一个4x5矩阵,编程求出其最大值及其所处的位置。
function f = fun8(x)
i = 1;
max = realmin;
while i<=4
j = 1;
while j<=5
if max < x(i, j)
row = i;
col = j;
max = x(i, j);
end
j = j + 1;
end
i = i + 1;
end
f = [max, row, col];
% 加上分号后,可保证只输出一个结果。
%不会f和ans同时输出,这样只有ans输出。
end
网上的程序是不是能用?
需要同学们自行敲一遍程序来进行验证!
不能懒,懒人是学不好的!
使用效果如何呢?
本人修改后的程序,
可以使用了!
再深入思考一下,如何能完善程序呢?加上size函数后,是不是可以扩展到求出任意二维矩阵的最大值及其所处的位置呢?
好吧,老师再次进行修改!
再看看结果如何?
>> matrix_a= [1 2 3 4 5;1 2 3 4 5;1 2 3 4 5;1 2 3 4 5;1 2 3 4 7];
>> func_max_site(matrix_a)
ans =
5 1 5
>> matrix_a= [1 2 3 4 5;1 2 3 4 5;1 2 3 4 5;1 2 3 4 7];
>> func_max_site(matrix_a)
ans =
7 4 5
>> matrix_a= [1 2 3 4 5;1 2 3 4 5;1 2 3 4 5;1 2 3 4 5;1 2 3 4 7];
>> func_max_site_v1(matrix_a)
ans =
7 5 5
原来可以针对任意矩阵进行了!
作业解答完结!
题外话
坚持不易!
虽然生病一年了了,但我依旧在坚持工作。只不过由于头是斜的,因此每写好一篇教学文章,必须要休息一下。我因此定了早上工作一小时,然后就是躺在床上躺。以后吃中饭,下午再工作一小时。然后写完以后再到床上躺着。晚上也是如此。现状基本上没有什么娱乐活动,偶尔打打乒乓球。现在白天的时间大部分用在教学和编程上。希望付出能有回报,能够真的带动学生们去学习,学到很扎实的知识!
如果我们学院的学生有我这份毅力用来学习,起码找个好工作是没有任何困难的!
修订记录
20190414 完成初稿;
20190719 补充内容;