صفحه 1 از 6 123 ... آخرآخر
نمایش نتایج 1 تا 40 از 235

نام تاپیک: هفتِ بیجار

  1. #1

    هفتِ بیجار

    سلام مهندس عزیز
    یه سوال :
    من اگه یه آرایه 1 در 100 داشته باشم. چطوری میتونم هر 10 تا 10 تا عدد رو در یک سطر قرار بدم؟
    m = rand(1,100)

    مثلاً 10 تای اول در سطر اول، 10 تا دوم در سطر دوم و ...

  2. #2

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    سلام مهندس عزیز
    یه سوال :
    من اگه یه آرایه 1 در 100 داشته باشم. چطوری میتونم هر 10 تا 10 تا عدد رو در یک سطر قرار بدم؟
    m = rand(1,100)

    مثلاً 10 تای اول در سطر اول، 10 تا دوم در سطر دوم و ...
    سلام
    m1 = reshape(m , 10 ,10 )'; 


    هفت بیجار چیه؟

  3. #3

    نقل قول: هفتِ بیجار

    مرسی. تازه با دستور reshape آشنا شدم :)

  4. #4

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    مرسی. تازه با دستور reshape آشنا شدم :)
    یادم میاد توی هفت بیجار قبلی گفته بودم یه نگاهی به یک فایل pdf به نام refcard متلب بندازید که دستورات مهم و پرکاربرد متلب داخلش هست مثل این:
    http://www.geog.ucsb.edu/~pingel/210...ab_refcard.pdf

  5. #5

    نقل قول: هفتِ بیجار

    بله. چندتا از اون فایل ها رو هم دانلود کردم ولی بعضیا رو نمیدونم که کاربردشون کجاست.
    واسه همین سوال هم من فکر میکردم که باید برنامه بنویسیم!
    دوباره باید یه نگاهی بندازم. ممنونم که یادآوری کردین :)

  6. #6

    نقل قول: هفتِ بیجار

    اینو چطوری میتونم توی متلب اجرا کنم :

    u = K D

    که K یک عدد ثابت و D اپراتور مشتق نسبت به زمان است. برای من D مهمه که چطوری باید نوشته بشه!

  7. #7

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    اینو چطوری میتونم توی متلب اجرا کنم :

    u = K D

    که K یک عدد ثابت و D اپراتور مشتق نسبت به زمان است. برای من D مهمه که چطوری باید نوشته بشه!
    سلام
    شاید منظور ماتریس ژاکوبی jacobian باشه. لطفا توضیحات بیشتری بدید


  8. #8

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    سلام
    شاید منظور ماتریس ژاکوبی jacobian باشه. لطفا توضیحات بیشتری بدید
    بیشتر از این نمیدونم. چون یکمی برام مبهم بود اینجا مطرح کردم.
    پس اجازه بدین بیشتر مطالعه کنم.

  9. #9

    نقل قول: هفتِ بیجار

    اینو میشه به ماتریس تبدیل کرد؟


    RA = {1 [1 0];[-1 2] 3}


    خواستم از دستور cell2mat استفاده کنم ولی خطا داد!
    ??? Error using ==> cat
    CAT arguments dimensions are not consistent.

    Error in ==> cell2mat at 89
    m{n} = cat(1,c{:,n});

  10. #10

    نقل قول: هفتِ بیجار

    چه ماتریسی باید بشه؟ چند در چند؟ عناصر در کدام خانه ماتریس قرار بگیرند؟

  11. #11

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    چه ماتریسی باید بشه؟ چند در چند؟ عناصر در کدام خانه ماتریس قرار بگیرند؟
    خب مشخصه دیگه. RA باید یک ماتریس 2 در 3 بشه. بصورت سلولی اینطوری میشه :
    RA = 

    [ 1] [1x2 double]
    [1x2 double] [ 3]

    و بصورت ماتریسی باید بصورت زیر بشه :
    RA =

    1 1 0
    -1 2 3

    اینطوری نباید بشه؟
    با دستور cell2mat انجام نمیشه!

  12. #12

    نقل قول: هفتِ بیجار

    فکر کنم اینجور بهتر باشه

    arr = [];
    for i = 1:size(RA, 1)
    arr = [arr; cell2mat(RA(i, :))];
    end
    disp(arr)

  13. #13

    نقل قول: هفتِ بیجار

    ممنونم. با این کد انجام شد ولی دلیل اینکه مستقیم با دستور cell2mat انجام نمیشه چیه؟
    مگه سلول باید مربعی باشه؟ چون یه سلول مربعی رو تست کردم شده بود!

  14. #14

    نقل قول: هفتِ بیجار

    علتش اینه که ابتدا عناصری که در یک ستون قرار دارند به صورت سطری با هم تر کیب میشن. سپس اون ترکیب به صورت ستونی با هم انجام می گیره اگه ابعاد اونها جوری باشه که نتونن ترکیب بشن خطا میده
    مثلا این را ببینید

    C = {[1], [2 3 4];
    [5; 9], [6 7 8; 10 11 12]}

    1 2 3 4

    5 6 7 8
    9 10 11 12

    روند ترکیب به این صورته:

    1 2 3 4
    5 6 7 8
    9 10 11 12

    1 2 3 4
    5 6 7 8
    9 10 11 12

    اما در مثال شما یه همچین چیزی داریم

    [1] [1 0]
    [-1 2] [3]

    حالا عناصر موجود در ستون 1 می خواهند باهم ترکیب بشن به این صورت
    [1; -1 2]

    به علت اینکه ابعادشون متناسب نیست خطا میده
    با این حساب میشه از عناصر داخل سلول ترانسپوز بگیرید که ابعاد عناصر موجود در یک ستون باهم هماهنگ بشه

    transRA = cellfun('transpose', RA', 'UniformOutput', false)
    cell2mat(transRA)'

  15. #15

    نقل قول: هفتِ بیجار

    توی متلب دستوری وجود داره که یک رشته رو بگیره و تک تک حروف رو از هم جدا کنه؟ و بعدش بتونه حروف رو بصورت رندوم قاطی کنه؟

  16. #16

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    توی متلب دستوری وجود داره که یک رشته رو بگیره و تک تک حروف رو از هم جدا کنه؟ و بعدش بتونه حروف رو بصورت رندوم قاطی کنه؟

    reshte = 'This page was last modified on'
    reshte(randperm( length(reshte)))

  17. #17

    نقل قول: هفتِ بیجار

    ممنونم.
    اگه بخوام هر حرفی که چاپ شد، یک فاصله قرار بده چی؟یا بینشون با ویرگول جدا شده باشه!
    مثلاً همین رشته ی بالا رو بصورت زیر نشون بده :

    d p i a w n a s g o o i d e l T i h s t f s e m a

  18. #18

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    ممنونم.
    اگه بخوام هر حرفی که چاپ شد، یک فاصله قرار بده چی؟یا بینشون با ویرگول جدا شده باشه!
    مثلاً همین رشته ی بالا رو بصورت زیر نشون بده :

    d p i a w n a s g o o i d e l T i h s t f s e m a
    این شکلی میشه نوشت

    reshte = 'This page was last modified on'
    L = length(reshte);
    reshape([reshte(randperm(L)); repmat(' ', 1, L)], 1, L * 2)

  19. #19

    نقل قول: هفتِ بیجار

    کار repmat چیه؟ مثل reshape عمل میکنه؟
    دقیقاً متوجه نشدم آرگومان داخل repmat چیکار میکنه!
    یه سوال دیگه :
    میشه کاری کرد که space داخل رشته جز کاراکتر حساب نشه؟

  20. #20

    نقل قول: هفتِ بیجار

    repmat برای تکرار یک چیز به تعداد دلخواهه
    مثلا میخوام به تعداد 5 بار حرف اسپیس پشت سر هم تکرار بشه یا اینکه بخوام یک آرایه را چند بار پشت سر هم تکرار کنم
    برای حذف اسپیس:
    reshte(reshte ~= ' ')

  21. #21

    نقل قول: هفتِ بیجار

    سلام
    میخوام یه برنامه بنویسم که اعداد تصادفی ایجاد کنه بین 0 تا 100 برای x و y . بعد پلات کنه. ضمن اینکه مقادیری که در بازه ی 40 تا 60 قرار دارند رو با یه رنگ جداگانه ای نشون بده. من اینطوری نوشتم ولی جواب نمیده :
    clc;
    clear all;
    close all;

    x=unifrnd(0,100,50,1);
    y=unifrnd(0,100,50,1);
    if x>40 & x<60
    plot(x,y,'ro')

    else
    plot(x,y,'o')
    end

  22. #22

    نقل قول: هفتِ بیجار

    سلام
    نمیدونم نظورتون را درست دریافت کردم یا نه

    x=unifrnd(0,100,50,1);
    y=unifrnd(0,100,50,1);
    indexX = x > 40 & x < 60;
    plot(x(indexX),y(indexX),'ro')
    hold on;
    plot(x(~indexX),y(~indexX),'go')

  23. #23

    نقل قول: هفتِ بیجار

    ممنونم. دقیقاً همینو میخواستم. حالا اگه بخوایم برای y هم محدوده بذاریم باید indexY درست کنیم؟
    من به صورت زیر نوشتم ولی خطا میده :
    x=unifrnd(0,100,50,1); 
    y=unifrnd(0,100,50,1);
    indexX = x > 40 & x < 60;
    indexY = y > 40 & y < 60;
    plot(x(indexX),y(indexY),'ro')
    hold on;
    plot(x(~indexX),y(~indexY),'go')

  24. #24

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    ممنونم. دقیقاً همینو میخواستم. حالا اگه بخوایم برای y هم محدوده بذاریم باید indexY درست کنیم؟
    من به صورت زیر نوشتم ولی خطا میده :
    x=unifrnd(0,100,50,1); 
    y=unifrnd(0,100,50,1);
    indexX = x > 40 & x < 60;
    indexY = y > 40 & y < 60;
    plot(x(indexX),y(indexY),'ro')
    hold on;
    plot(x(~indexX),y(~indexY),'go')

    x=unifrnd(0,100,50,1);
    y=unifrnd(0,100,50,1);
    indexXY = x > 40 & x < 60 & y > 40 & y < 60;
    plot(x(indexXY),y(indexXY),'ro')
    hold on;
    plot(x(~indexXY),y(~indexXY),'go')

  25. #25

    نقل قول: هفتِ بیجار

    مهندس ببخشید،
    قبلاً یه کد فازی نوشته بودی که میومد یک رنج از اعداد رو به دو گروه تقسیم می کردد. من یه مقاله دیدم که میومد قوانین فازی و توابع عضویت رو با استفاده از الگوریتم بهینه سازی، بهینه میکرد تا جواب بهتری بگیریم. حالا این کدی که پایین میذارم زیاد قانون و توابع عضویت نداره. اگه زیاد باشه میشه از این الگوریتمها استفاده کرد. میخوام بدونم چطوری این فازی با این الگوریتم ها ارتباط برقرار میکنه؟شما اطلاعی دارید؟
    مثلاً بشه قوانین و توابع عضویت یک سیستم فازی رو با الگوریتم ژنتیک، PSO و یا cuckoo بهینه سازی کرد!
    clc;
    clear all;
    close all;

    P =unifrnd(1,100,1,20);
    Range=0:100;
    aa = newfis ('sefroyek', 'sugeno', ...
    'min', 'max', ...
    'min', 'max', 'wtaver');
    aa = addvar (aa, 'input', 'P', [min(Range) max(Range)]);
    aa = addmf (aa, 'input', 1, 'Low', 'trapmf', [min(Range)-5 min(Range) range(Range)*0.45+min(Range) range(Range)*0.55+min(Range)]);
    aa = addmf (aa, 'input', 1, 'High', 'trapmf', [range(Range)*0.45+min(Range) range(Range)*0.55+min(Range) max(Range) max(Range)+5]);
    aa = addvar (aa, 'output', 'sefroyek', [0 1]);
    aa = addmf (aa, 'output', 1, 'Low', 'constant', 0);
    aa = addmf (aa, 'output', 1, 'High', 'constant',1);
    aa = addrule (aa, [1 1 1 1;2 2 1 1]);
    % plotfis(aa)
    figure
    plotmf (aa, 'input', 1);
    % plotmf (aa, 'output', 1);
    pp=evalfis(P,aa) ;
    fprintf('\n\nCoalition of Group 1 :\n P1 =');
    iGroup1=find(pp<0.5);
    P1=P(iGroup1); disp(P1);
    fprintf('\n\nCoalition of Group 2 :\n P2 =');
    iGroup2=find(pp>=0.5);
    P2=P(iGroup2); disp(P2);

  26. #26

    نقل قول: هفتِ بیجار

    ANFIS با استفاده از شبکه عصبی پارامترهای تابع عضویت را بهینه می کنه

  27. #27

    نقل قول: هفتِ بیجار

    سلام.
    من دو قسمت داده دارم که اومدم رگرسیون خطی رو بدست آوردم. میخوام ایندو تا رو با subplot توی یک figure قرار بدم. کد پایین رو نوشتم ولی نشد!
    کجاش اشتباهه؟
    clc;
    clear;
    close all;

    x1=rand(1,100);
    y1=x1+0.1*rand(1,100);
    subplot(1,2,1)
    plotregression(x1,y1);
    x2=rand(1,100);
    y2=x2+0.1*rand(1,100);
    subplot(1,2,2)
    plotregression(x2,y2);

  28. #28

    نقل قول: هفتِ بیجار

    یه سوال دیگه :
    من یه رشته دارم بصورت زیر :
    st='ABC def:1393'


    اگه بخوام یک قسمتی از رشته رو حذف کنم چطوریه؟ مثلاً بخوام سه حرف اول که ABC هست رو حذف کنم.

  29. #29

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    سلام.
    من دو قسمت داده دارم که اومدم رگرسیون خطی رو بدست آوردم. میخوام ایندو تا رو با subplot توی یک figure قرار بدم. کد پایین رو نوشتم ولی نشد!
    کجاش اشتباهه؟
    clc;
    clear;
    close all;

    x1=rand(1,100);
    y1=x1+0.1*rand(1,100);
    subplot(1,2,1)
    plotregression(x1,y1);
    x2=rand(1,100);
    y2=x2+0.1*rand(1,100);
    subplot(1,2,2)
    plotregression(x2,y2);
    سلام
    شما اومدید رگرسیون بگیرید نشد یا subplot بگیرید نشد؟

  30. #30

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    یه سوال دیگه :
    من یه رشته دارم بصورت زیر :
    st='ABC def:1393'


    اگه بخوام یک قسمتی از رشته رو حذف کنم چطوریه؟ مثلاً بخوام سه حرف اول که ABC هست رو حذف کنم.
    درست شبیه آرایه
    st(4:end)

  31. #31

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    سلام
    شما اومدید رگرسیون بگیرید نشد یا subplot بگیرید نشد؟
    رگرسیون میگیره ولی دو تا تصویر رو در یک figure قرار نمیده. یعنی subplot عمل نمیکنه!
    دو تا تصویر جدا جدا میسازه.

  32. #32

    نقل قول: هفتِ بیجار

    ببخشید یه سوال دیگه هم دارم:
    روابطی که پایین گذاشتم، بدست آورن انتگرال خطای مطلق یا همون Integral of Absolute Error (IAE) یک سیستم برای ارزیابی نتایج هست :
    من یه قسمتی از این روابط رو با کد نوشتم. نمیدونم درسته اینطوری یا نه!
    حالا نمیدونم چطوری باید وزنگذاری بکنم.

    t=0:0.5:200;
    out1=rand(1,100);
    out2=rand(1,100);
    e1=.1*out1;
    e2=.1*out2;
    f1=int(abs(e1),0,t)+int(abs(e2),0,t);
    f2=int(abs(out1(t)-out1(t-1)),0,t)+int(abs(out2(t)-out2(t-1)),0,t);
    آخرین ویرایش به وسیله coronaa : یک شنبه 26 بهمن 1393 در 09:37 صبح

  33. #33

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    رگرسیون میگیره ولی دو تا تصویر رو در یک figure قرار نمیده. یعنی subplot عمل نمیکنه!
    دو تا تصویر جدا جدا میسازه.
    octave دستور plotregression نداره اما این دستور plotregression را به دو شکل می شه نوشت که شکل دوم چند تا پلات با هم می کشه به هلپ متلب مراجعه کنید

  34. #34

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    ببخشید یه سوال دیگه هم دارم:
    روابطی که پایین گذاشتم، بدست آورن انتگرال خطای مطلق یا همون Integral of Absolute Error (IAE) یک سیستم برای ارزیابی نتایج هست :
    من یه قسمتی از این روابط رو با کد نوشتم. نمیدونم درسته اینطوری یا نه!
    حالا نمیدونم چطوری باید وزنگذاری بکنم.

    t=0:0.5:200;
    out1=rand(1,100);
    out2=rand(1,100);
    e1=.1*out1;
    e2=.1*out2;
    f1=int(abs(e1),0,t)+int(abs(e2),0,t);
    f2=int(abs(out1(t)-out1(t-1)),0,t)+int(abs(out2(t)-out2(t-1)),0,t);
    دستور int برای انتگرال سمبولیک روی یک تابع هست در صورتی که شما اینجا یک بردار دارید که کافیه از دستور sum استفاده کنید
    باید اون مقاله یا مقاله های مرتیط را بهدقت مطالعه کنید تا معلوم بشه وزن ها چه طوریه

  35. #35

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    octave دستور plotregression نداره اما این دستور plotregression را به دو شکل می شه نوشت که شکل دوم چند تا پلات با هم می کشه به هلپ متلب مراجعه کنید
    مهندس مرسی. حل شد. ولی هنوز یه مشکلی دارم!
    کدش به این صورته :
    x1=rand(1,100);
    y1=x1+0.1*rand(1,100);
    x2=rand(1,100);
    y2=x2+0.1*rand(1,100);
    plotregression(x1,y1,'Link(1)',x2,x2,'Link(2)');

    تصویرش به این صورت شد:

    حالا میخوام این عبارت Link(1) که مینویسم سطر اول باشه و مقدار رگرسیون رو که خودش نمایش میده سطر پایین باشه. نمیشه؟
    بعد میخوام یه مقادیری رو هم بعد از مقدار رگرسیون اضافه کنم. مثل RMSE و ....
    وقتی یه تصویر بود تونستم با دستور title این کار رو انجام بدم ولی الآن که دوتایی شد نمیشه!
    آخرین ویرایش به وسیله coronaa : یک شنبه 26 بهمن 1393 در 17:05 عصر

  36. #36

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    دستور int برای انتگرال سمبولیک روی یک تابع هست در صورتی که شما اینجا یک بردار دارید که کافیه از دستور sum استفاده کنید
    باید اون مقاله یا مقاله های مرتیط را بهدقت مطالعه کنید تا معلوم بشه وزن ها چه طوریه
    خب اگه از دستور sum استفاده کنیم که فقط یک عدد اسکالر داریم!
    من باید باید انتگرال رو در هر زمان جدا گانه حساب کنم تا یک بردار داشته باشم. مگه اینطوری نیست؟
    چون میخوام مثل همون رگرسیون یه نمودار رسم کنم.
    در مورد وزن هم چیزی صحبت نکرده. احتمالاً مانند ماتریس هست که باید برای هر درایه ارزش گذاری کنیم.
    نظر شما چیه؟

  37. #37

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    مهندس مرسی. حل شد. ولی هنوز یه مشکلی دارم!
    کدش به این صورته :
    x1=rand(1,100);
    y1=x1+0.1*rand(1,100);
    x2=rand(1,100);
    y2=x2+0.1*rand(1,100);
    plotregression(x1,y1,'Link(1)',x2,x2,'Link(2)');

    تصویرش به این صورت شد:

    حالا میخوام این عبارت Link(1) که مینویسم سطر اول باشه و مقدار رگرسیون رو که خودش نمایش میده سطر پایین باشه. نمیشه؟
    بعد میخوام یه مقادیری رو هم بعد از مقدار رگرسیون اضافه کنم. مثل RMSE و ....
    وقتی یه تصویر بود تونستم با دستور title این کار رو انجام بدم ولی الآن که دوتایی شد نمیشه!
    خب شما می تونید از فرمولی که به شما میده
    1*Target + 0.043
    استفاده کنید و یک نمودار دلخواه را ایجاد کنید

  38. #38

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    خب اگه از دستور sum استفاده کنیم که فقط یک عدد اسکالر داریم!
    من باید باید انتگرال رو در هر زمان جدا گانه حساب کنم تا یک بردار داشته باشم. مگه اینطوری نیست؟
    چون میخوام مثل همون رگرسیون یه نمودار رسم کنم.
    در مورد وزن هم چیزی صحبت نکرده. احتمالاً مانند ماتریس هست که باید برای هر درایه ارزش گذاری کنیم.
    نظر شما چیه؟
    مگه قرار نیست انتگرال در طول زمان گرفته بشه؟ پس یک عدد به دست میاد

  39. #39

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    خب شما می تونید از فرمولی که به شما میده
    1*Target + 0.043
    استفاده کنید و یک نمودار دلخواه را ایجاد کنید
    خب من که Target رو ندارم. توی workspace چنین مقداری وجود نداره که بخوام نمودار جداگانه ای رسم کنم.

  40. #40

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    مگه قرار نیست انتگرال در طول زمان گرفته بشه؟ پس یک عدد به دست میاد
    بله درسته. فکر کنم اشتباه کردم!
    ولی باید مقداری بین صفر تا 1 باشه.
    حالا این کدی که میذارم کجاش اشتباهه؟
    t=0:0.5:200;
    out1=rand(1,100);
    out2=rand(1,100);
    e1=.1*out1;
    e2=.1*out2;
    f1=sum(abs(e1))+sum(abs(e2));
    f2=sum(abs(out1(t+1)-out1(t)))+sum(abs(out2(t+1)-out2(t)));

صفحه 1 از 6 123 ... آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •