Research of an element in an array

39 ビュー (過去 30 日間)
Luigi Bucci
Luigi Bucci 2022 年 1 月 24 日
編集済み: Luigi Bucci 2022 年 1 月 24 日
%Ricerca elemento X nel vettore somma S
disp ('Ricerca elemento X nel vettore somma S')
X=input ('X');
if K==find(S==X)
disp ("L'elemento X si trova nella posizione ")
disp (K)
disp (" del vettore S")
else
disp ("L'elemento X non è presente all'interno del vettore S")
end
This is a part of a program I'm creating as a simulation of an exam of my university, the Politecnico of Bari in Italy.
Here there's a research of an element in an array. After the if, the program stops working. How could I fix it? The error say Unknown or unrecognizable variable K.
The variable K is created when the software find the element in the array.
Thanks for the help.
Regards,
Luigi
P.S. Before writing it, all the sentences written in disp are required by my teacher, cause the absence of them could not help my teacher to understand all the program phases. So, I must write it, as I need to write them the day of the exam to get a high mark and get all the European credits of the university. (In Italian, CFU: Crediti Formativi Universitari).
  2 件のコメント
David Hill
David Hill 2022 年 1 月 24 日
What are you trying to compare in the conditional if statement? Give an example of S. With the code shown, there is no S or K defined.
Luigi Bucci
Luigi Bucci 2022 年 1 月 24 日
編集済み: Luigi Bucci 2022 年 1 月 24 日
%Inizio esercizio
disp ('Inizio esercizio')
%Generazione di una matrice con 5 righe e n colonne. Il numero n delle
%colonne dev'essere maggiore di 5. Successivamente verranno estratti i
%vettori riga R1 e R3 e verrà fatta una somma dei due vettori in un vettore
%S. Infine verrà ricercato un elemento X all'interno del vettore S per
%capire se fa parte o mento degli elementi del vettore.
%Generazione matrice
disp ('Inizio generazione matrice. M=Righe, N=Colonne');
M=5;
N=input ('N');
for i=1:5
for j=1:N
if (N>5)
disp ('Numero colonne matrice corretto. Inizio generazione matrice')
A(i,j)=input ("Inserire l'elemento: ");
disp ('Stampa matrice A')
disp (A);
else
disp ('Numero colonne matrice insufficiente. Riavviare il programma')
break
end
end
end
%Estrazione vettore riga R1 dalla matrice A
disp ('Estrazione vettore riga R1 dalla matrice A')
R1=A(1,:);
disp ('Stampa vettore riga R1')
disp (R1)
%Estrazione vettore riga R3 dalla matrice A
disp ('Estrazione vettore riga R3 dalla matrice A')
R3=A(3,:);
disp ('Stampa vettore riga R3')
disp (R3)
%Somma vettori riga R1 e R3
disp ('Somma dei vettori riga R1 e R3 in un vettore S')
S=R1+R3;
disp ('Stampa vettore S')
disp (S)
%Ricerca elemento X nel vettore somma S
disp ('Ricerca elemento X nel vettore somma S')
X=input ('X');
if K==find(S==X)
disp ("L'elemento X si trova nella posizione ")
disp (K)
disp (" del vettore S")
else
disp ("L'elemento X non è presente all'interno del vettore S")
end
%Fine Esercizio
disp ('Fine Esercizio')
This is the complete program.

サインインしてコメントする。

採用された回答

Voss
Voss 2022 年 1 月 24 日
Perhaps you mean to do this:
disp ('Ricerca elemento X nel vettore somma S')
X=input ('X');
K = find(S==X);
if ~isempty(K)
disp ("L'elemento X si trova nella posizione ")
disp (K)
disp (" del vettore S")
else
disp ("L'elemento X non è presente all'interno del vettore S")
end
  1 件のコメント
Luigi Bucci
Luigi Bucci 2022 年 1 月 24 日
It works now. Thanks for your help and good evening.

サインインしてコメントする。

その他の回答 (1 件)

David Hill
David Hill 2022 年 1 月 24 日
This should work for you as long as there is only going to be a single match or no match
K=find(S==X,1);
if ~isempty(K)
disp ("L'elemento X si trova nella posizione ")
disp (K)
disp (" del vettore S")
else
  1 件のコメント
Luigi Bucci
Luigi Bucci 2022 年 1 月 24 日
編集済み: Luigi Bucci 2022 年 1 月 24 日
There should be also multiple matches. Thanks for the help. And Good evening

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by