شما هنگام استفاده از دستور nthroot ، باید دو عدد حقیقی را به کار ببرید، ولی شما مواردی را به دستور می دهید که دارای نمادهای سمبلیک (مثلا R) می باشند. حتی اگر متغیر برابر یک عدد هم باشد ولی نوع آن از نوع سمبلیک باشد، باز هم دستور مورد نظر خطا می دهد. برای همین، بنده ابتدا مقادیر سمبل ها را جایگرین می کنم و سپس نوع آن را هم با دستور double ، به double تبدیل می کنم :
نتیجه اجرای کد متلب بالا :
کد پیاچپی:
clear all
close all
clc
syms L R n i x j
x=(L*((1+i)^n))-R*((((1+i)^n)-1)/i);
x=subs(x,[L,R,i,n],[1000,100,.05,14])
y=x+((R*((((1+i)^n)-1)/i))/L)
y=subs(y,[L,R,i,n],[1000,100,.05,14])
y=double(y)
n=14
j=nthroot(y,n)-1
نتیجه اجرای کد متلب بالا :
کد پیاچپی:
x =
32880067478491319/1638400000000000
y =
(R*((i + 1)^n - 1))/(L*i) + 32880067478491319/1638400000000000
y =
18045553671767168181/819200000000000000
y =
22.0283
n =
14
j =
0.2472
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.