کلیدستان

نسخه‌ی کامل: ارور موجود در نرم افزار در حل توزیع نرمال
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام  
من کد زیر را در متلب زدم با توزیع یونیفرم جواب میگیرم ولی وقتی توزیع را به نرمال تغییر میدم  ارور زیر را میده
میشه راهنماییم کنید تا فردا باید جوابش بفرستم

The following error occurred converting
from sym to double:
Error using mupadmex
Error in MuPAD command: DOUBLE cannot
convert the input expression into a
double array.

If the input expression contains a
symbolic variable, use the VPA function
instead.

Error in Root_Nioton_Rafson (line 45)
    out (iter,2) = x2;



و کدم این بود

clc
clear
close all
format shortG

syms W Q P N O S dmax x drd drs Crs Cri Crh Cmd Cmf Cmi Cmd Wr Wpr a C B
%% Parameters Setting
dmax = 170;
Cmd = 55;
Cmf = 260;
Cmi = 220;
Cri = 20;
Crh = 30;
Crs = 70;
P = 910;
O = 0.94;
N = 0.75;
Q = 5000;
S = 610;
Wr = 380;
a = 3*Q/4;

maxiter = 10;                    
x=0;
WC=x/dmax;
pd1 = makedist ('normal', 'mu',(a+Q)/2 , 'sigma', ((Q-a)/6)^0.5)
pdf1 = pdf(pd1,C)
L = int(pdf1,C,a,O*WC*Q*N)

Function=@(x) (Cmf+S-P)*O*L-2*x-(Cmd*(1-O)+Cmi-(P-Cmf)*O+(Cri/N)+Crh+Crs);
FunctionP=@(x) ((Cmf+S-P)*O^2*Q*N*pdf1/dmax)-2;


%% Main Loop
out=zeros(maxiter,2);

for iter=1:maxiter             
    
    F =Function(x);
    Fp =FunctionP(x);
    
    x2 = x - (F/Fp);
    
    out (iter,1) = iter;
    out (iter,2) = x2;
    

    
    if iter>1 && out(iter,2)==out(iter-1,2)
        break
    end
    

   x=x2;
   
   
end

%% Results
out=out(1:iter,Smile;
disp('=======================================================================================================')
disp('           iter          x')
disp('=======================================================================================================')
disp(out)
disp('=======================================================================================================')
چرا پس هیچ کس جواب من نمیده؟ مگه خیلی سخته؟