matlab 函式求解N階乘

時間 2025-04-13 19:30:17

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,如果對於任...