کلیدستان

نسخه‌ی کامل: مقدار دهی به توابع سمبلیک و نمایش خروجی ها بصورت یک عدد(نه به صورت مجموع چند عدد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام خدمت دوستان عزیز 

تابعی به صورت زیر تعریف کرده ام : 

clear,clc
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
متلب خروجی این مقدار دهی را به صورت زیر محاسبه  و نمایش می دهد.
131072*(- 14145267073162107007922109716399269560499277284503 + 86516654452353718330156433999399986978095104(*i)^(1/2)

که مقدار درست می باشد ، اما من می خواهم بصورت یک عدد نشان دهد نه مجموع چند عدد، ینی در مقدار دهی فقط بجای متغیرها عددگذاری می کند و عملیات ریاضی (جمع و ضرب ) را انجام نمی دهد. به عنوان مثال می خواهم برای تابع بالا خروجی بعد از زدن "اینتر" اینگونه نمایش داده شود:
1.5076e+24+4.9296e+29i
در نشان دادن این نوع نمایش اعداد برای خروجی های تابع سمبلیک اگه کمکم کنید ممنون می شم، نمایش اعداد برای تابع من خیلی مهمه چرا که ماتریسی بزرگ دارم که در هر درایه اش یک تابع، بصورت تابع معرفی شده وجود دارد که باید در صفحه نمایش مشاهده کنم . و روی آن بیشتر از صد بار عمل ریاضی انجام دهم.
با تشکر از همه دوستان   
(۱۳۹۴/۱۰/۳۰, ۰۹:۵۴ ق.ظ)Hamidreza نوشته: [ -> ]با سلام خدمت دوستان عزیز 

تابعی به صورت زیر تعریف کرده ام : 

clear,clc
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
متلب خروجی این مقدار دهی را به صورت زیر محاسبه  و نمایش می دهد.
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)

=

 
  1.5076e+24 4.9296e+29i 
حالا راه درستی هست یا خیر نمی دونم. موفق باشید
(۱۳۹۴/۱۰/۳۰, ۱۱:۵۵ ق.ظ)m-r-v نوشته: [ -> ]
(۱۳۹۴/۱۰/۳۰, ۰۹:۵۴ ق.ظ)Hamidreza نوشته: [ -> ]با سلام خدمت دوستان عزیز 

تابعی به صورت زیر تعریف کرده ام : 

clear,clc
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
متلب خروجی این مقدار دهی را به صورت زیر محاسبه  و نمایش می دهد.
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)

=

 
  1.5076e+24 4.9296e+29i 
حالا راه درستی هست یا خیر نمی دونم. موفق باشید
سلام تشکر از راهنمایی شما
فرق کدی که من نوشتم با کد شما در چیه، که جواب شما رو بصورت یک عدد مختلط و یک عدد حقیقی بصورت نماد علمی نمایش داده می شود ولی
برای کد من قسمت موهمی و حقیقی را بصورت ضرب چند عدد نشان می دهد؟ نه بصورت خروجی شما که اینجنین هست :
1.5076e+24 + 4.9296e+29i(می خواهم به جواب شما برسم) ولی به این جواب رسیده ام :

131072*(- 14145267073162107007922109716399269560499277284503 + 86516654452353718330156433999399986978095104(*i)^(1/2)
(جواب من هم دو قسمت حقیقی و موهمی دارد اما جواب شما بصورت نماد علمی هست نه ضرب چند عدد در هم برای قسمت موهمی و حقیقی، من می خواهم به جواب شما برسم اما حتی کد شما رو در متلب هم کپی کردم جواب بصورت بالا ظاهر شد.)