(۱۳۹۴/۱۰/۳۰, ۰۹:۵۴ ق.ظ)Hamidreza نوشته: با سلام خدمت دوستان عزیز
تابعی به صورت زیر تعریف کرده ام :
clear,clcsyms x yformat short e(F=sqrt((1.285e28+1.41e24*i*y+2.48e28)^2+(4.12e28*x*i+2.24e15*y-7.81e19)^2برای مقدار دهی به تابع ام از فرمان زیر استفاده کرده ام،( و به دنبال اصلاح این فرمان هستم و انواع فرمت های نمایش را امتحان کرده ام) :
([subs(F,[x,y],[12 14متلب خروجی این مقدار دهی را به صورت زیر محاسبه و نمایش می دهد.131072*(- 14145267073162107007922109716399269560499277284503 + 86516654452353718330156433999399986978095104(*i)^(1/2)
که مقدار درست می باشد ، اما من می خواهم بصورت یک عدد نشان دهد نه مجموع چند عدد، ینی در مقدار دهی فقط بجای متغیرها عددگذاری می کند و عملیات ریاضی (جمع و ضرب ) را انجام نمی دهد. به عنوان مثال می خواهم برای تابع بالا خروجی بعد از زدن "اینتر" اینگونه نمایش داده شود:1.5076e+24+4.9296e+29iدر نشان دادن این نوع نمایش اعداد برای خروجی های تابع سمبلیک اگه کمکم کنید ممنون می شم، نمایش اعداد برای تابع من خیلی مهمه چرا که ماتریسی بزرگ دارم که در هر درایه اش یک تابع، بصورت تابع معرفی شده وجود دارد که باید در صفحه نمایش مشاهده کنم . و روی آن بیشتر از صد بار عمل ریاضی انجام دهم.با تشکر از همه دوستان
سلام دوست عزیز، تابع شما یک تابع شامل اعداد مختلطه که خروجی مطمنن هم یک عدد مختلط شامل قسمت حقیقی و موهومی می شود پس جواب خروجی یک عدد تنها مثلا20 نمی شود. اگر می خواهید اندازه این عدد را در بیارید از دستور abs استفاده کنید. من عین دستور شما رو در متلب زدم و جواب مدنظر شما رو بدست اوردم. کد اچی پی زیر را ملاحظه کنید.
کد پیاچپی:
syms x y;
>> format short e
>> F=sqrt((1.285e28+1.41e24*i*y+2.48e28)^2+(4.12e28*x*i+2.24e15*y-7.81e19)^2);
>> subs(F,[x,y],[12 14])
ans =
1.5076e+24 + 4.9296e+29i
(abs(ans
ans =
4.9296e+29
من به این روش هم مقدار دهی کردم و جوابی که مدنظر شماست را گرفتم
کد پیاچپی:
x=12;
>> y=14;
>> F=sqrt((1.285e28+1.41e24*i*y+2.48e28)^2+(4.12e28*x*i+2.24e15*y-7.81e19)^2)
F =
1.5076e+24 + 4.9296e+29i