سؤال حول matlab - منتديات الجلفة لكل الجزائريين و العرب

العودة   منتديات الجلفة لكل الجزائريين و العرب > منتديات التقنية > منتدى البرمجة

منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل...

في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة تقرير عن مشاركة سيئة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .

آخر المواضيع

سؤال حول matlab

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 2012-03-30, 15:30   رقم المشاركة : 1
معلومات العضو
khawla MI
عضو مشارك
 
إحصائية العضو










Hot News1 سؤال حول matlab

السلام عليكم

سؤالي بسيط لكن لم أفلح في حله وهو أنه لدي برنامج matlab تنفيذه يستغرق مدة ساعة والسبب يعود الى أني استخدمت deux boucle for حاولت استبدالهما par faire ce que l'on appelle la vectorisation لكني لم أتحصل على النتيجة المرجوة

هل بالامكان مساعدتي في أيجاد طريقة لاستبدال les deux boucle

function Ing=integrale(f,a,b,c,d)
%l'approximation de l'integrale double par la methode de rectangle gauche
N = b*10-a;
M=d*10-c;
hx = (b - a)/N;
hy=(d - c)/M;

y = [c:hy:d];
x=[a:hy:b];
Ing = 0;
for i = 1:N
for j=1:M
Ing = Ing + hx*hy*f(x(i),y(j));
end
end
le probleme se pose lorsque le b et le d qui sont les bords de l'integrale tend vers un grand nombre
f dans ce programme est une fonction à deux variable definie comme suit
function r=f(x,y).
r=x+y;%par exemple
merci








 


رد مع اقتباس
قديم 2012-03-30, 15:33   رقم المشاركة : 2
معلومات العضو
khawla MI
عضو مشارك
 
إحصائية العضو










افتراضي

j'ai oubliée de poser ma question
comment peut on minimiser le temps d'execusion
par que'elle procedure je doit remplacer les deux boucles for que j'ai utiliser tout en gardant les meme resultats trouver avec les deux boucles for
merci










رد مع اقتباس
قديم 2012-03-30, 20:10   رقم المشاركة : 3
معلومات العضو
djamel123
عضو مميّز
 
الصورة الرمزية djamel123
 

 

 
إحصائية العضو










افتراضي



لوضع برنامج أرجو الضغط هنا حتى يكون واضحا في القراءة.





الاجابة من الطبيعي أن تتأخر هذه الطريقة، لكن ليس لهذه الدرجة.
ومادام أن لديك مشكلة مع القيم الكبيرة فمن الأحسن أن تقومي بتبيت عدد المستطيلات التي تقومين بجمع مساحتها.
يعني مثلا نقسم محور x على 100 مستطيل ومحور y على 100 مستطيل وفي هذه الحالة يكون البرنامج كما يلي


كود:
function Ing=integrale(f,a,b,c,d)
%l'approximation de l'integrale double par la methode de rectangle gauche
N=100;
dx=(b-a)/N;
dy=(d-c)/N;
y=c:dy:d;
x=a:dx:b;
Ing = 0;
for i = 1:N
for j=1:N
Ing = Ing + dx*dy*f(x(i),y(j));
end
end

وطيعا كلما انقصتي في عدد المستطيلات N كلما كان الوقت أسرع والنتيجة أقل دقة.
كمثال أقوم بحساب تكامل باستعمال طريقة المستطيلات وباستخدام دالة الماتلاب dblquad.


كود:
F = @(x,y)y*x;
Q = dblquad(F,1,2,3,9);
كود:
f=inline('x*y','x','y');
Ing=integrale(f,1,2,3,9)

سأجد نتيجتين متقاربتين.









رد مع اقتباس
قديم 2012-03-30, 20:30   رقم المشاركة : 4
معلومات العضو
khawla MI
عضو مشارك
 
إحصائية العضو










افتراضي

Sobhan allah w c vraimant machaallah
ça marche wallahi
je vous remerci monsieur pour votre aide










رد مع اقتباس
قديم 2012-03-30, 20:39   رقم المشاركة : 5
معلومات العضو
djamel123
عضو مميّز
 
الصورة الرمزية djamel123
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة khawla mi مشاهدة المشاركة
sobhan allah w c vraimant machaallah
ça marche wallahi
je vous remerci monsieur pour votre aide
العفووووو
أي مساعدة أخرى لا تترددي بطرحها.









رد مع اقتباس
قديم 2012-03-30, 23:20   رقم المشاركة : 6
معلومات العضو
khawla MI
عضو مشارك
 
إحصائية العضو










افتراضي

إن شاء الله
شكرا










رد مع اقتباس
إضافة رد

الكلمات الدلالية (Tags)
matlab, سؤال


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

الساعة الآن 06:19

المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية


2006-2024 © www.djelfa.info جميع الحقوق محفوظة - الجلفة إنفو (خ. ب. س)

Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc