انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مقدار دهی به توابع سمبلیک و نمایش خروجی ها بصورت یک عدد(نه به صورت مجموع چند عدد)

مقدار دهی به توابع سمبلیک و نمایش خروجی ها بصورت یک عدد(نه به صورت مجموع چند عدد)

#1
با سلام خدمت دوستان عزیز 

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

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
در نشان دادن این نوع نمایش اعداد برای خروجی های تابع سمبلیک اگه کمکم کنید ممنون می شم، نمایش اعداد برای تابع من خیلی مهمه چرا که ماتریسی بزرگ دارم که در هر درایه اش یک تابع، بصورت تابع معرفی شده وجود دارد که باید در صفحه نمایش مشاهده کنم . و روی آن بیشتر از صد بار عمل ریاضی انجام دهم.
با تشکر از همه دوستان   
پاسخ

مقدار دهی به توابع سمبلیک و نمایش خروجی ها بصورت یک عدد(نه به صورت مجموع چند عدد)

#2
(۱۳۹۴/۱۰/۳۰, ۰۹:۵۴ ق.ظ)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 
حالا راه درستی هست یا خیر نمی دونم. موفق باشید
پاسخ
 سپاس شده توسط admin

مقدار دهی به توابع سمبلیک و نمایش خروجی ها بصورت یک عدد(نه به صورت مجموع چند عدد)

#3
(۱۳۹۴/۱۰/۳۰, ۱۱:۵۵ ق.ظ)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 
حالا راه درستی هست یا خیر نمی دونم. موفق باشید
پاسخ

مقدار دهی به توابع سمبلیک و نمایش خروجی ها بصورت یک عدد(نه به صورت مجموع چند عدد)

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

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


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان