Matlab 如何计算此代码中执行了多少函数?
我一直以学习Matlab为爱好。 这是关于堆栈溢出的第二个问题 这些天我对Matlab的数独很感兴趣。 我从网上得到了代码,我正在学习这个代码3周 我想添加一个函数,该函数指示“子函数(候选函数)”执行了多少次。->函数对解决方案的作用次数 我曾经使用cnt=0和cnt=cnt+1进行计数(在if语句和while语句下) 但我意识到这段代码的结构是循环(?) *我试过了,但是当我试的时候cnt被重置了,我想我知道重置的原因 但我不会写代码 谢谢你的帮助Matlab 如何计算此代码中执行了多少函数?,matlab,function,sudoku,Matlab,Function,Sudoku,我一直以学习Matlab为爱好。 这是关于堆栈溢出的第二个问题 这些天我对Matlab的数独很感兴趣。 我从网上得到了代码,我正在学习这个代码3周 我想添加一个函数,该函数指示“子函数(候选函数)”执行了多少次。->函数对解决方案的作用次数 我曾经使用cnt=0和cnt=cnt+1进行计数(在if语句和while语句下) 但我意识到这段代码的结构是循环(?) *我试过了,但是当我试的时候cnt被重置了,我想我知道重置的原因 但我不会写代码 谢谢你的帮助 我使用了变量X X=[4 0 0
我使用了变量X
X=[4 0 0 0 2 0 0 0 0;
0 1 0 3 0 0 5 0 0;
0 0 9 0 0 8 0 6 0;
7 0 0 6 0 0 1 0 0;
0 2 0 0 0 0 0 0 9;
0 0 3 0 0 4 0 0 0;
6 0 0 7 0 0 0 2 0;
0 8 0 0 1 0 0 0 4;
0 0 0 0 0 9 3 0 0];
您还可以使用持久变量,该变量应在函数的多个调用中保留其值
clear all;
result = myfactorial(5);
例如:
function [ result ] = myfactorial( num )
% using persistent variable based on
% https://www.mathworks.com/help/matlab/ref/persistent.html
persistent numcalls;
if isempty(numcalls)
numcalls = 0;
end
numcalls = numcalls+1;
disp(strcat('numcalls is now: ', int2str(numcalls)));
% factorial function based on
% https://www.quora.com/How-can-I-create-a-factorial-function-in-MATLAB
if num > 1
result = myfactorial(num-1)*num;
else
result = 1;
end
end
现在调用函数
clear all;
result = myfactorial(5);
输出为:numcalls现在是:1
numcalls现在是:2
numcalls现在是:3
numcalls现在是:4
numcalls现在是:5
概要文件摘要报告提供对函数的调用次数。