File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -387,15 +387,21 @@ function vars!(vars, O; op = Differential)
387387            f =  getcalledparameter (O)
388388            push! (vars, f)
389389            for  arg in  arguments (O)
390-                 vars! (vars, arg; op)
390+                 if  symbolic_type (arg) ==  NotSymbolic () &&  arg isa  AbstractArray
391+                     for  el in  arg
392+                         vars! (vars, unwrap (el); op)
393+                     end 
394+                 else 
395+                     vars! (vars, arg; op)
396+                 end 
391397            end 
392398            return  vars
393399        end 
394400        return  push! (vars, O)
395401    end 
396402    if  symbolic_type (O) ==  NotSymbolic () &&  O isa  AbstractArray
397403        for  arg in  O
398-             vars! (vars, arg; op)
404+             vars! (vars, unwrap ( arg) ; op)
399405        end 
400406        return  vars
401407    end 
Original file line number Diff line number Diff line change @@ -1442,3 +1442,11 @@ end
14421442        end 
14431443    end 
14441444end 
1445+ 
1446+ @testset  " Variable discovery in arrays of `Num` inside callable symbolic"   begin 
1447+     @variables  x (t) y (t)
1448+     @parameters  foo (:: AbstractVector )
1449+     sys =  @test_nowarn  ODESystem (D (x) ~  foo ([x, 2 y]), t; name =  :sys )
1450+     @test  length (unknowns (sys)) ==  2 
1451+     @test  any (isequal (y), unknowns (sys))
1452+ end 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments