۱۳۹۳/۰۸/۱۵, ۰۳:۱۳ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۳/۰۸/۱۵, ۰۳:۱۵ ب.ظ توسط Fahrenheit.)
(۱۳۹۳/۰۷/۲۸, ۱۰:۵۱ ق.ظ)'admin' نوشته: سلام.
کد:clear all
close all
clc
DB1 = {'NEW','YORK','May','30','(AFP)','-','US','prosecutors',...
'on','Friday','unveiled','a','14-count','indictment',...
'including','charges','of','murder','and','loan','sharking','against',...
'body','demands'};
count=0;
DB1_size = size(DB1);
for p=1:DB1_size(2)
if strcmpi(DB1{p}, 'family') | strcmpi(DB1{p}, 'demands')| strcmpi(DB1{p}, 'body')| strcmpi(DB1{p}, 'moved')
% fprintf('\n Found ')
% disp('found');
count=count+1;
% copyfile(file_name,des_file_addr)
end
end
p=p+1;
count
% fprintf('\n count= %g',count)
در مورد اینکه or یا and باشه، بستگی به نوع کاربرد مورد نظرتان دارد. در ضمن، بنده در تعریف DB1 ، دو عنصر دیگر به انتهای آن اضافه کردم، زیرا هیچکدام از آن 4 رشته در آن قرار نداشت و من میخواستم که کدها را تست کنم.
در مورد استفاده از دستور size مراقب باشید، زیرا این دستور، اگر یک بردار را دریافت کند، یک بردار با دو عنصر را برمی گرداند (یکی برای تعداد ستون و یکی برای تعداد ردیف)، پس باید بدانید که تعداد کل عنصرها در کدامیک از آن دو ذخیره شده و به همان اشاره کنید.
نتیجه اجرای کد متلب بالا :
کد:count =
2
سلام و خسته نباشید خدمت شما.
می بخشید این کد بالا رو اگه بخوایم بصورت AND بنویسیم (که در متلب با & نشون می دیم) ، کد چطور در میاد ؟ آخه اگه به این شکل زیر بنویسیم و بجای | ما & قرا بدیم ، جواب درستی نمیده(چون اولی رو میاد با این کلمات مقایسه میکنه و چون درست نیست ، جواب نمیده ، در حالی که در متن(حالت واقعی) این 2 کلمه هست .
میشه بگید باید چیکار کنم؟
کد:
if strcmpi(DB1{p}, 'family') && strcmpi(DB1{p}, 'demands')