PDA

View Full Version : تابع



night_secret
شنبه 30 آبان 1394, 16:59 عصر
سلام من در یک زیر برنامه برنامه ای نوشتم که مثبت و منفی بودن درایه بردار رو مشخص کنه
و توی مین برنامه اونو فراخوانی میکنم فقط آخرین مقدار منفی رو نشون میده میخوام همه رمنفی و مثبت رو نشون بده
این فانکشن

function [mosbat1,manfi1,mosbat2,manfi2]= mosbat_manfi( brd1,brd2)


for i=1:length(brd1)
if brd1(i)>=0
mosbat1=brd1(i);
else
manfi1=brd1(i);

end
if brd2(i)>=0
mosbat2=brd2(i);
else
manfi2=brd2(i);

end
end

end
و اینم مین برنامه

clc;
clear;
close all;

for i=1:3
code=2345;
voroodi=input('code ra vared konid');
if code==voroodi;
brd1=input('get array 1');
brd2=input('get array 2');

[pos1,neg1,pos2,neg2]= mosbat_manfi( brd1,brd2);

disp(pos1);
disp(neg1);
disp(pos2);
disp(neg2);
break
end
end
ممنون میشم اگه سریع جواب بدید

rahnema1
شنبه 30 آبان 1394, 23:17 عصر
سلام
به صورت زیر عناصر مثبت و منفی جدا میشن

mosbat = brd(brd >= 0);
manfi = brd(brd < 0);

AmiN0012
شنبه 30 آبان 1394, 23:45 عصر
سلام دوست عزیز:
main:

clc;
clear;
close all;
brd1=[];
brd2=[];
for i=1:3
% code=2345;
% voroodi=input('code ra vared konid');
% if code==voroodi;
brd1(i)=input('get array 1: ');
end
for j=1:3
brd2(j)=input('get array 2: ');
end
mosbat_manfi( brd1,brd2);


تابع:

function [d]= mosbat_manfi( brd1,brd2)

for i=1:length(brd1)
if brd1(i)>=0
disp([ ' brd1 = mosbat--> ' num2str( brd1(i)) ])
else
disp([ ' brd1 = manfi--> ' num2str( brd1(i)) ])

end
end
for j=1:length(brd1)
if brd2(j)>=0
disp([ ' brd2 = mosbat--> ' num2str(brd2(j)) ])
else
disp([ ' brd2 = manfi--> ' num2str( brd2(j)) ])

end
end

end

night_secret
یک شنبه 01 آذر 1394, 14:58 عصر
برنامه که درست کار میکنه فقط مقدار آخرو نشون میده من منطورم اینه که میخوام همه ی مثبت یا منفی رو نشون بده مثلا اگه بردار 4 درایه ای باشه مثل [2 6 -5 -7] این برای منفی فقط -7 و برای مثبت فقط 6 رو نشون میده من میخوام برای منفی -5 -7 و برای مثبت 2 6 رو نشون بده

AmiN0012
یک شنبه 01 آذر 1394, 16:46 عصر
دوست عزیز کد من که نوشتم بت میگه کدوم مقادیر مثبت هستند کدوم منفی.