Research of an element in an array

조회 수: 5(최근 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
Luigi Bucci
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.

댓글을 달려면 로그인하십시오.

채택된 답변

_
_ 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일
There should be also multiple matches. Thanks for the help. And Good evening

댓글을 달려면 로그인하십시오.

태그

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by