1樓:壞壞不壞天蠍座
第一句話寫錯了,function函式的格式不對。
應該改為:function k=my_fact(n)if nargin~=1,error;endif nargout>1,error;endif abs(n-floor(n))>eps|n<0,error;end
if n>1,k=n*my_fact(n-1);
elseif any([0 1]==n),k=1;end
matlab中的階乘函式怎麼使用啊?
2樓:巢葛菲
matlab中的階乘。
函式是factorial,其函式形式為:factorial(n) 。
1、當n為向量時,計算從1到n這n個數的乘積友廳,即相當於prod(1:n)。
2、當n是n維陣列時,計算n中每個元素的階乘。
注意:由於在matlab中雙精度浮咐仔點數。
的整數位數大約是15位,只有對不大於21的整數計算結果是精確的,對大於21的整數,factorial的計算結果衡告汪只有前15位是準確的。
matlab:編寫乙個實現n階乘的函式?
3樓:網友
如何用matlab:編寫乙個態盯實現n階乘。
的函式,實現的方法有。
1、直接用軟體自帆棚和帶和派的階乘函式,即factorial(n)2、自定義階乘函式,即 s=factorial_fun(n),其內容。
n=ns=1;
for n=1:n
s=s*n;
endfprintf('n! =22d',s);
然後,命令視窗中執行。
s=factorial_fun(5)
執行結果。<>
4樓:帳號已登出
不會matlab,用睜配fortran寫了一段**。
演算法詳見**的綠色字型註釋行。
階乘計算的範圍是 0到1000的階伏蘆乘,輸出最悉廳指大位數是2568位整數。
附:fortran**和計算例項。
計算n的階乘 matlab
5樓:網友
用matlab計算n的階乘 可以這樣做,例如。
f=factorial(5)
f=120f = factorial(10)
f = 3628800
matlab階乘和程式
6樓:麻木
matlab程式為:
function jiechenghe=fun(x)jiechenghe=0;
s=1;for i=1:x
s=s*i;
jiechenghe=jiechenghe+s;
end應用:求n!的位數。
可以將n!表示成10的次冪,即n!=10^m(10的m次方)則不小於m的最小整數就是 n!的位數,對該式兩邊取對數,有 m =log10^n!
即:m = log10^1+log10^2+log10^3...log10^n。迴圈求和,就能算得m值,該m是n!的精確位數。
7樓:四舍**入
首先不含0的階乘,即:x階乘和=1!+2!+…x!;
functionjiechenghe=fun(x)
jiechenghe=0;
s=1;fori=1:x
s=s*i;
jiechenghe=jiechenghe+s;
end若想加入0的階乘,可以加入判斷條件,令0!=1;
matlab和mathematica、maple並稱為三大數學軟體。它在數學類科技應用軟體中在數值計算方面首屈一指。matlab可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等。
8樓:劉賀
第一,這個有現成的函式,沒必要編函式了。
第二,要自己編,應該用原始計算。
第三,你寫得不是階乘,是階乘的累加了。
function y=jch(n)
y=1;for ii=1:n
y=y*ii;
end---呵呵,看錯了,就是求累加:
function y=jch(n)
for ii=1:n
m(ii)=factorial(ii);
endy=sum(m);
9樓:網友
你是想求1!+2!+3!+.n-1)!+n!嗎?
如果是,那麼將m=factorial(n)改為m=factorial(i);
現在你應該明白為什麼你會得到96,而不是33了。
matlab中的階乘函式是什麼?
10樓:網友
matlab中的階乘鬧哪。
函式是factorial()。在matlab中該函式運用規則是這樣的:
語法
f = factorial(n)
說明
f = factorial(n) 返回所有小於或等於 n 的正整數液芹碼。
的乘積,其中 n 為非負整數。
值。如果 n 為陣列,則 f 包含 n 的每個值的階乘。f 與 n 具有相同的資料型別。
和大小。n 的階乘通常使用感嘆號字元以數學表示法寫為 n!。
示首態例
1)整數階乘,
>>f = factorial(10) %
2)陣列元素的階乘
>>n = 0 1 2; 3 4 5];
f = factorial(n)
無符號整數值的階乘
>>n = uint64([5 10 15 20]);
f = factorial(n)
11樓:巢葛菲
matlab中的階乘函式是factorial,其函式形式為:factorial(n) 。
1、當n為向量時,旅頌計算從1到n這n個數的乘積,即相當於prod(1:n)。
2、當n是n維陣列時,計算n中每個元素的階乘。
注意:由於在matlab中雙精度浮點數的整數位數大約是15位,只有對不大於21的整數計算結果是精確的,對大於21的整數,factorial的計算結果只有前15位是準確的。
matlab階乘和程式
12樓:刺任芹
matlab程式為:
function jiechenghe=fun(x)jiechenghe=0;
s=1;for i=1:x
s=s*i;
jiechenghe=jiechenghe+s;
end應用:求n!的位數。
可以將n!表示成10的次冪,即n!=10^m(10的m次方)則不小於m的最小整數就是 n!的位數,對該式兩邊取對數,有 m =log10^n!
即:m = log10^1+log10^2+log10^3...log10^n。迴圈求和,就能算得m值,該m是n!的精確位數。
matlab階乘求和問題,matlab階乘和程式
matlab軟體沒有求階乘的函式,所以必須自己來編乙個函式。函式是輸入輸出的關係,所以建立乙個函式文件 專門求階乘。如下 function f factorial n 建立輸入資料n求n的階乘。f 1 for i 1 n f f i endend 然後再建乙個主函式程式 clcn 10 求1 10的...
C語言編寫求n階乘的函式,在主函式中輸入n,呼叫函式求n階乘。。謝謝
include fun int n printf the result is d n sum return 0 main include include unsigned long long fact unsigned long long n int main 因c語言資料型別限制,不能做大數的階乘...
matlab求和函式用什麼函式如 n 2 7n 3 n
柔情西瓜啊 求和是可以用sum 函式,得先用迴圈把每個元素計算出來 s 0 for i 1 100 s s i 2 7 i 3 或者 syms k symsum k.2 7 k 3,1,100 就可以了。擴充套件資料 函式定義 1 傳統定義 一般的,在乙個變化過程中,假設有兩個變數x y,如果對於任...