Filter löschen
Filter löschen

It is showing error tht switch expression must be a scalar or a character vector.

3 Ansichten (letzte 30 Tage)
% Step 1: Load the data
data = [
1 400 40 1 35.32 23.12
2 400 40 2 30.41 21.37
3 400 40 3 41.53 20.61
4 400 60 1 26.81 21.83
5 400 60 2 33.74 22.58
6 400 60 3 27.25 24.92
7 400 100 1 28.37 22.06
8 400 60 2 31.58 20.87
9 400 100 3 37.08 21.03
10 700 40 1 43.27 16.59
11 700 40 2 40.51 16.88
12 700 40 3 37.97 13.61
13 700 60 1 47.33 12.96
14 700 60 2 67.39 10.08
15 700 60 3 63.83 11.64
16 700 100 1 78.30 9.68
17 700 100 2 81.36 9.24
18 700 100 3 81.09 9.98
19 1000 40 1 83.61 8.41
20 1000 40 2 89.48 7.83
21 1000 40 3 88.07 8.06
22 1000 60 1 74.38 6.85
23 1000 60 2 76.33 6.97
24 1000 60 3 71.06 7.56
25 1000 100 1 69.34 7.06
26 1000 100 2 70.18 6.81
27 1000 100 3 73.54 7.08
28 1300 40 1 89.32 6.53
29 1300 40 2 91.68 5.86
30 1300 40 3 90.22 5.98
31 1300 60 1 88.96 5.07
32 1300 60 2 92.94 5.06
33 1300 60 3 91.87 6.07
34 1300 100 1 78.39 6.43
35 1300 100 2 81.34 5.11
36 1300 100 3 76.73 5.36
];
inputs = data(:, 2:4)';
targets = data(:, 5:6)';
% Step 2: Define the neural network architecture
hiddenLayerSize = 10; % Choose the number of neurons in the hidden layer
net = feedforwardnet(hiddenLayerSize);
% Step 3: Define the genetic algorithm parameters
ga_opts = gaoptimset('Display', 'iter', 'PopulationSize', 50, 'Generations', 100);
% Step 4: Train the hybrid model
[net_ga, ~] = ga(@(x)train_neural_network(x, inputs, targets), net.numWeights, ga_opts);
% Step 5: Test the model
outputs = net_ga(inputs);
% Step 6: Evaluate the model's performance
% You can evaluate the performance using various metrics such as RMSE, MAE, etc.
% Define a function to train the neural network
function loss = train_neural_network(weights, inputs, targets)
net = feedforwardnet(hiddenLayerSize);
net = setwb(net, weights);
net = train(net, inputs, targets);
outputs = net(inputs);
loss = mse(outputs - targets);
end

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 7 Apr. 2024
[net_ga, ~] = ga(@(x)train_neural_network(x, inputs, targets, hiddenLayerSize), net.numWeightElements, ga_opts);
You cannot pass ga options directly after the number of variables. The options are positional. You need to use either
x = ga(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
or
x = ga(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,intcon,options)

Weitere Antworten (0)

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by